zsh 可以将提示符设置为整个路径吗除了当前目录?例如,对于~/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}'
瞧!
文档: