OS X Lion tiene la función "Reanudar", es decir, cuando vuelve a abrir una aplicación, restaura todas las ventanas y sus contenidos. Eso también funciona para la Terminal. Pero si usa Zsh en lugar de Bash, no restaura el directorio abierto. ¿Cómo puedo arreglar esto?
terminal.app
zsh
osx-lion
Simon Perepelitsa
fuente
fuente
Respuestas:
ACTUALIZACIÓN : Esto no es del todo correcto, por las razones mencionadas en los comentarios. Usa la respuesta a continuación . Gracias @ChrisPage por hacer un esfuerzo adicional :)
La respuesta se puede encontrar mediante ingeniería inversa cómo bash lo hace
/etc/bashrc
. Intenté muchos enfoques desde la red, pero el camino de Apple parece funcionar mejor (vaya a la figura).En su
.zshrc
complemento lo siguienteFeliz reanudación.
fuente
chpwd
comoprintf '\e]7;%s\a' "$PWD_URL"
con las comillas dobles. Gracias por el consejo.Aquí está mi adaptación de / etc / bashrc para zsh. Incluí la codificación porcentual de todos los caracteres de URL que lo requieren, lo cual es importante si desea que esto funcione con todos los nombres válidos de archivos y directorios.
Esto registra un
precmd
enlace, que permite registrar más de una función en otros scripts y archivos de configuración.ACTUALIZADO en marzo de 2019: se establece
LC_ALL
en vacío para que no se anuleLC_CTYPE
. Utilíceloprecmd
para actualizar el directorio de trabajo en cada solicitud en lugar de utilizarlochpwd
para actualizarlo cada vez que se modifique; los canales de comandos pueden modificarlo temporalmente y el terminal no debería mostrarlos. Además, puede ser útil que cada solicitud actualice el estado del terminal en caso de que se haya cambiado durante el comando anterior. Useprintf -v
para escribir explícitamente en la variable en lugar de usar la sintaxis de subshell.fuente
terminalapp
complemento..zprofile
o lo que sea, como hice antes de darme cuenta de que en realidad está disponibleoh-my-zsh
. De hecho, es exactamente la misma solución y usted merece todo el crédito.