Pasos para reproducir:
-
Cambie el tamaño del terminal a una anchura de 80 o menos, para que sea más fácil para el prompt se envuelva.
-
Cambiar temporalmente el nombre
/etc/zshrc
en caso de que afecte al resultado. (Recuerde volver a cambiarlo después). -
Crear una carpeta muy profunda, como
mkdir -p /tmp/very-deep/directory/very-deep/directory/very-deep/directory/very-deep/directory/very-deep/directory
-
Ejecuta un Zsh limpio con
/usr/bin/env -i ZDOTDIR=/tmp TERM=xterm-256color /bin/zsh
-
Establecer el aviso con
PROMPT='%~ '
. -
Cambia de directorio a esa carpeta. El mensaje debería aparecer.
-
Prueba con el autocompletado. Por ejemplo, escriba
dir
y luego pulse la tecla Tab.
En mi máquina, después del último paso el dir
se movió un carácter a la izquierda. Había un espacio entre el prompt y el comando antes de activar la finalización, que fue eliminado por dir
moviéndose a la izquierda. En otras palabras, antes de pulsar Tab la línea termina con directory dir
, pero la finalización hace que directorydir
. Este comportamiento era similar al de Bash que no envolvía correctamente el código de escape ANSI con \[
y \]
, excepto que en este caso no debería haber ningún código de escape ANSI en el prompt.
He intentado eliminar todas las variables posibles, incluyendo la variable de entorno, los archivos de configuración, el emulador de terminal. ¿Qué más puede fallar?
En caso de que importe, estoy usando Catalina.