我所做的所有工作都位于 icloud 目录中,这使得我的bash
提示很长:
~/Library/Mobile Documents/com~apple~CloudDocs/Projects/foo/bar/baz @master $
我的提示是:
PS1='\w\[\e[1;35m\]$(__git_ps1 " @%s") \[\e[1;32m\]\$\[\e[m\] '
/Library/Mobile Documents/com~apple~CloudDocs/
是否可以仅将in的出现替换\w
为类似的内容,icloud
从而产生如下更好的提示?
~/icloud/Projects/foo/bar/baz @master $
Zsh 具有“命名目录”功能,它几乎也会自动缩写提示中的目录名称。我不认为 Bash 具有等效功能,但您可以通过
PROMPT_COMMAND
运行自定义函数来设置变量,然后在 using 的提示 insetad 中打印来解决它\w
。/tmp/test
例如,这应该用 替换路径中的首字母~testdir
。cwd
我通过使用动态更新路径的函数,使用 @ilkkachu 的部分答案解决了这个问题:虽然不太漂亮,但至少我的提示又漂亮了!