zshell mojave mac shell zsh

shell - mojave - zsh config



¿Cómo le digo a Zsh que escriba el historial del shell actual en mi archivo de historial? (4)

Trabajo en un lugar que tiene millones de herramientas que requieren toneladas de opciones, por lo que confío significativamente en la historia de mi shell. Incluso hago una copia de seguridad de vez en cuando para asegurarme de no perder comandos útiles y largos.

Acabo de escribir uno de estos comandos y quiero asegurarme de que esté en el archivo del historial, pero tengo un trabajo de larga duración en segundo plano y no puedo escribir exec zsh . ¿Hay algo más que pueda hacer en esta situación?

(Claro, podría copiarlo y pegarlo en un archivo, pero sería más lógico que existiera un comando flush-history ).


Luego de la línea a ~ / .zshrc, se ahorrará 1000 entradas que aumentamos al cambiar el valor de HISTSIZE y SAVEHIST

HISTSIZE=1000 if (( ! EUID )); then HISTFILE=~/.zsh_history_root else HISTFILE=~/.zsh_history fi SAVEHIST=1000


Para escribir el historial de shell en el archivo de historial, haga

fc -W

fc tiene algunas banderas útiles, man zshbuiltins todas en man zshbuiltins .

También puede automatizar completamente la lectura y escritura del archivo de historial después de cada comando (compartiendo así su archivo de historia automáticamente con cada ejecución de zsh) diciendo setopt -o sharehistory . Lea más opciones relacionadas con la historia en las man zshoptions .


También acabo de encontrar:

setopt INC_APPEND_HISTORY

De man zshoptions :

INC_APPEND_HISTORY This options works like APPEND_HISTORY except that new history lines are added to the $HISTFILE incrementally (as soon as they are entered), rather than waiting until the shell exits. The file will still be periodically re-written to trim it when the number of lines grows 20% beyond the value specified by $SAVE- HIST (see also the HIST_SAVE_BY_COPY option).


Y use

fc -R

para leer en el historial (después de escribirlo) en un shell zsh existente.