Zsh almacena líneas de entrada (posiblemente con información de tiempo) en el archivo indicado por la variable HISTFILE
. Debe ser un nombre de archivo absoluto (de lo contrario, se interpretará en relación con el directorio actual en ese momento).
Zsh no tiene un valor predeterminado incorporado para HISTFILE
. La distribución de zsh viene con un asistente de configuración para nuevos usuarios que tiene el valor ~/.histfile
incorporado, por lo que esto es lo que los usuarios de zsh obtienen de manera predeterminada. Oh-my-zsh viene con HISTFILE=.zhistory
preajuste. Parece que probaste zsh tanto con la configuración predeterminada como con oh-my-zsh. Verifique su .zshrc
(o las fechas del archivo) para ver cuál está usando actualmente.
La forma en que zsh abre el archivo y, por lo tanto, qué sucede si se trata de un enlace simbólico, depende de varias opciones.
- Si una de las opciones
append_history
(configurada de manera predeterminada), inc_append_history
o share_history
está configurada, o cuando el historial se guarda explícitamente con fc -AI
, zsh se agrega al archivo existente.
Tenga en cuenta que incluso con estas configuraciones, zsh ocasionalmente sobrescribe el archivo como se describe a continuación para recortarlo a su tamaño.
- De lo contrario, si la opción
hist_save_by_copy
está establecida (se establece de forma predeterminada desde zsh 5.0, pero no existe en 4.2), zsh escribe un archivo temporal y luego lo mueve en su lugar cuando se completa. En este caso, si el archivo de historial era un enlace simbólico, el nuevo archivo reemplaza al enlace simbólico.
- De lo contrario, zsh sobrescribe el archivo existente en su lugar.
En lugar de apuntar zsh a un enlace simbólico, configúrelo HISTFILE
donde quiera que esté el archivo del historial.
La cantidad de líneas del historial que se guardan se configura a través de las variables HISTSIZE
y SAVEHIST
. HISTSIZE
es el número máximo de líneas que se mantienen en una sesión y SAVEHIST
es el número máximo de líneas que se mantienen en el archivo de historial.
Para guardar algo de historial, debe establecer ambos HISTFILE
y SAVEHIST
, como el valor predeterminado SAVEHIST
es 0. También puede aumentar HISTSIZE
(a partir de zsh 5.0, el valor predeterminado es solo 30).
~/.zshrc
y / o las/etc/zshrc
opciones descritas allí zsh.sourceforge.net/Guide/zshguide02.html#l17