Solución:
Probablemente tienes INC_APPEND_HISTORY
colocar.
los INC_APPEND_HISTORY
opción, desde man zshoptions
:
Estas opciones funcionan como APPEND_HISTORY excepto que se agregan nuevas líneas de historial al $ HISTFILE de forma incremental (tan pronto como se ingresan), en lugar de esperar hasta que el shell salga.
La opción que quieres es APPEND_HISTORY
:
APPEND_HISTORY Si se establece, las sesiones zsh agregarán su lista de historial al archivo de historial, en lugar de reemplazarlo. Por lo tanto, todas las sesiones zsh paralelas tendrán las nuevas entradas de sus listas de historial agregadas al archivo de historial, en el orden en que salgan. El archivo se reescribirá periódicamente para recortarlo cuando el número de líneas crezca un 20% más allá del valor especificado por $ SAVEHIST (consulte también la opción HIST SAVE BY COPY).
Puede leer sobre estas opciones en el man zshoptions
, man zshall
o en línea aquí.
Para configurarlos, en su ~/.zshrc
o similar, debería tener:
setopt APPEND_HISTORY
Tenga en cuenta que, si utiliza oh-my-zsh de forma predeterminada, creo que INC_APPEND_HISTORY
se utiliza. No estoy 100% seguro de qué manera se cargan las cosas, pero si el oh-my-zsh
la opción anula la que ha establecido en ~/.zshrc
, puedes jugar con él en ~/.oh-my-zsh/lib/history.zsh
Para agregar a la respuesta aceptada, si usa oh-my-zsh
, probablemente tengas SHARE_HISTORY
opción habilitada por defecto.
Para lograr la separación entre los shells en ejecución + el historial completo combinado en una terminal recién abierta, debe comentar o eliminar la siguiente línea:
setopt share_history # share command history data
de ~/.oh-my-zsh/lib/history.zsh