¿Cómo compartir el historial entre pestañas de terminal?


23

Generalmente me encuentro usando dos o tres pestañas en mi Terminal en OS X.

Un inconveniente menor es que, por defecto, las pestañas no comparten su historial de comandos. Por lo tanto, buscar un comando anterior que ejecuté en otra pestaña escribiendo history | grep thingIamlooking forno lo encuentra.

¿Hay alguna forma de obligar a las pestañas de Terminal a compartir el historial, o hay algún otro comando " history_of_all_tabs "?

Respuestas:


29

No creo que haya una manera de compartir el historial solo entre las pestañas de Terminal, pero aquí hay algo que podría ayudarlo.

El historial no es algo que maneje su terminal sino su shell (bash, tcsh, zsh, etc.)

Aquí hay algunas opciones que lo ayudarán a configurar un historial compartido entre todas las ventanas de terminal (las instancias de shell).

Esto debe colocarse en algún lugar de su .bashrcarchivo.

export HISTCONTROL=ignoredups:erasedups  # no duplicate entries
export HISTSIZE=100000                   # big big history
export HISTFILESIZE=100000               # big big history
shopt -s histappend                      # append to history, don't overwrite it

# Save and reload the history after each command finishes
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

1
+.5 para una buena respuesta, +.5 para una buena gramática;)
Matt

La solución de @ Lifely no me funciona en El Capitán. En absoluto. Incluso la longitud máxima del archivo de historial. ¿Hay una nueva solución desde 2012? (Hubiera comentado anteriormente, pero no tengo el representante)
JP Duffy

1
Esto está funcionando para mí (agregado en .bash_profile) en El Capitan con la adición de export SHELL_SESSION_HISTORY = 0 en mi .bash_profile y ejecutándose: toque ~ / .bash_sessions_disable
Andy

funciona muy bien en Ubuntu 18.04 para bash
anon58192932
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.