自定义 zsh 提示符以从指定目录启动并显示所有子目录

自定义 zsh 提示符以从指定目录启动并显示所有子目录

我当前的提示如下:

luke@Lukes-MacBook-Pro ~/Documents/abc %

PROMPT='%n@%m %~ %# '在我的.zshrc文件中使用。

我的.zshrc也包含,cd abc因为这是我想从中启动所有终端会话的地方。

我的目标是让提示从abc目录开始并显示子目录,始终作为abc起点:

luke@Lukes-MacBook-Pro abc %

luke@Lukes-MacBook-Pro abc/subdirectory %

IE。~/Documents/从提示中删除。

有许多帖子解决了类似的问题,但这些帖子的重点是通过限制字符数来缩短提示的长度(例如这里

答案1

至于 ZSH,我无法让任何东西发挥作用。我假设如果您可以将刻度线(`)中的表达式扩展到变量中,您就可以做到这一点,就像这样:

以下是如何在 BASH 中执行此操作(将其放入 .bashrc 文件中):

cd /home/$USER/Documents/abc
export PS1='$USER@$HOSTNAME `echo $PWD | sed 's/\/home\/$USER\/Documents\/abc/abc/"` %~ %'

很抱歉这并不能严格回答您的问题,但希望它能有所帮助。

相关内容