
¿Puede zsh configurar el mensaje para toda la ruta?exceptoel directorio actual? Es decir, ¿para ~/a/b/c/
simplemente ~/a/b/
?
Estoy intentando obtener este resultado ~/a/b/c
con indicaciones izquierda y derecha:
c/: | ~/a/b/
a diferencia de mi duplicado actual c
:
c/: | ~/a/b/c/
La duplicación desperdicia espacio si el c
nombre del directorio es largo.
En elmanualEncontré todo lo demás de lo que quiero:
%-1~
- el primer elemento del camino%1~
- el último elemento del camino
en lugar de todos excepto el último
¿Cómo puede hacerse esto?
Respuesta1
# Before printing each prompt string, apply substitutions to it.
setopt promptsubst
# $PWD is always equal to the present working dir.
# :h chops off the last item of the path.
# (D) substitutes the start of the path with a named dir, such as ~, if possible.
# Note that this string is in 'single quotes'!
RPS1='${(D)PWD:h}'
¡Ta-da!
Documentación: