2 votos

iTerm2 - zsh - mantener el historial de comandos al abrir un nuevo panel

Con zsh en MacOS Catalina Cuando divido mi ventana actual de iTerm2 al abrir un nuevo panel, me gustaría poder mantener en este nuevo panel el historial de comandos del panel anterior (que sigue abierto).

Aquí mi configuración actual en ~/.zshrc :

# History
export HISTFILE="$HOME/.zsh_history"
HISTSIZE=10000000
export SAVEHIST=$HISTSIZE
# Avoid duplicates
#setopt HIST_IGNORE_ALL_DUPS
# Remove duplicates in history
function remove_duplicates() {
   echo "$(history 0 | sort -k2 -k1nr | \
   uniq -f1 | sort -n | cut -c8-)" > $HISTFILE
}
remove_duplicates();
setopt inc_append_history

# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend

¿Qué falta o qué he hecho mal en esta configuración?

y Sólo una pregunta : cuando abro un nuevo panel, ¿ ~/.zshrc se ejecuta el archivo (me refiero a que se agudiza como source ~/.zshrc ) ?

3voto

Douglas Puntos 10417

Para compartir el historial entre sesiones, es necesario utilizar la función SHARE_HISTORY opción. Además, querrá añadir, en lugar de sobrescribir su archivo histórico.

setopt SHARE_HISTORY
setopt APPEND_HISTORY

Según la documentación de ZSH ( Cap. 16 - Opciones ) también debe desactivar INC_APPEND_HISTORY .

Esta opción importa los nuevos comandos del archivo histórico y también hace que los comandos escritos se añadan al archivo histórico (esto último es como especificar INC_APPEND_HISTORY, que debería estar desactivado si esta opción está en vigor). Las líneas del historial también se imprimen con marcas de tiempo al estilo de EXTENDED_HISTORY (lo que hace más fácil encontrar el punto donde dejamos de leer el archivo después de que se reescriba).

También hay algunos otros comandos que pueden interesarte para lidiar con tus dupes:

  • HIST_NO_STORE - elimina el history de la historia.
  • HIST_IGNORE_ALL_DUPS - borra una versión anterior del comando añadido
  • HIST_SAVE_NO_DUPS - al guardar el archivo del historial, no se guardan los comandos más antiguos que duplican a los más nuevos

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X