
Может ли zsh задать приглашение на полный путькрометекущий dir? Т.е. для ~/a/b/c/
просто ~/a/b/
?
Я пытаюсь получить этот результат ~/a/b/c
с левыми и правыми подсказками:
c/: | ~/a/b/
в отличие от моего текущего дублированного c
:
c/: | ~/a/b/c/
Дублирование приводит к трате места, если c
имя каталога длинное.
вруководствоЯ нашел все, кроме того, что мне было нужно:
%-1~
- первый элемент пути%1~
- последний элемент пути
вместо всех, кроме последнего
Как это можно сделать?
решение1
# 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}'
Та-дам!
Документация: