目前,我的zsh
提示$'%2~ %%'
用于输出当前和上一个目录,然后才显示%
为我的输入提示。例如,如果我在/Users/david/Documents/Code/project
,我的提示将显示:
Code/project %
但是,如果我备份到Code
目录中,则会显示一个波浪号:
~Documents/Code %
我试图fish
通过替换其prompt_pwd
函数中提供的正则表达式并传递给sed
. 默认情况下,该函数如下所示:
function prompt_pwd --description 'Print the current working directory, shortend to fit the prompt'
echo $PWD | sed -e "s|^$HOME|~|" -e "s|^/private||" -e 's-\([^/]\)[^/]*/-\1/-g'
end
目前,这会输出当前目录的全名,但会将所有其他目录截断为一个字符(并替换$HOME
为波浪号)。我试图弄清楚我可以提供什么正则表达式来复制我在 zsh 中所做的事情。