no puedo encontrar el historial de zsh en OSX 10.8.5

no puedo encontrar el historial de zsh en OSX 10.8.5

Cuando inicio sesión en la aplicación Terminal en OSX, mi shell predeterminado es /bin/bash. Entrar echo $HISTFILEme señala /Users/monkeybrain/.bash_historyy head $(echo $HISTFILE)me muestra que el archivo contiene entradas del historial.

Si luego escribo zshpara cambiar de shell, suceden un par de cosas raras. En primer lugar, aunque mi mensaje cambia (por lo que parece que estoy en el nuevo shell), mi $SHELLvariable de entorno todavía apunta a /bin/bash. La $HISTFILEvariable ahora está vacía y no existe ningún archivo como ~/.zsh_history. Además, no puedo usar Ctrl-Ao Ctrl-Emoverme por la línea de comando.

¿Que esta pasando aqui?

Muchas gracias,

MEGABYTE

Respuesta1

  • SHELLEl shell generalmente no modifica la variable de entorno. Generalmente contiene la ruta completa al shell de inicio de sesión del usuario actual,noel shell que se está ejecutando actualmente. En la mayoría de los casos, SHELLse debe configurar antes de que se inicie un shell. zshno cambia el valor de SHELLy bashlo vuelve a establecer en el shell de inicio de sesión si SHELLno estaba configurado.

  • Por defecto HISTFILEno está configurado en zsh. Si desea guardar el historial, debe configurarlo en el archivo que desea utilizar para ello:

    HISTFILE="${HOME}/.zsh_history"
    

    También debe establecer SAVEHISTvalores enteros positivos para saber zshcuántas líneas guardar en el archivo HISTFILE, el valor predeterminado es 0(Graciascerebro de monopara la pista). Probablemente también quieras generar HISTSIZE, que indica cuántas líneas de historial están disponibles en la sesión de shell. Su valor predeterminado es sólo 30. Por ejemplo:

    HISTSIZE=2000
    SAVEHIST=2000
    

    Esto normalmente se hace en el ~/.zshrcarchivo de configuración.

  • zshintenta adivinar sus preferencias de enlace de claves comprobando las variables de entorno EDITORy VISUAL. Si alguno de ellos contiene la cadena "vi", zshutilizará el viinsmodo de entrada. Ni Ctrl+ Ani Ctrl+ Eestán vinculados de forma predeterminada en este modo. Si desea utilizar el emacsmodo de entrada (el predeterminado en bash), solo necesita ejecutar

    bindkey -e
    

    Esto también se puede hacer en~/.zshrc

Considerándolo todo, parece que estás ejecutando zshcon la configuración predeterminada. Si aún no lo hay ~/.zshrc, simplemente puede crearlo y agregar las configuraciones necesarias.

información relacionada