如何在 ZSH 终端中呈现目录基名?
How to render directory basename in ZSH terminal?
根据 Mac OS 对 Monterey 的更新,它表明新的 shell 是 ZSH:
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
更新后我发现 .bash_profile
不再使用了。经过研究我发现我可以引用 .bash_profile
所以我仍然可以通过添加行来使用我的别名:
source ~/.bash_profile
我发现终端的不同之处在于它不使用 PS1
,而是使用 PROMPT
。更改后:
export PS1='vader ~/${PWD/*\/} '
到
PROMPT='vader %~%# '
它呈现完整路径。在 .zshrc
文件中,我如何指定只呈现当前目录或 basename
的能力,所以如果我有 github/project/node_modules
的路径,终端将是:
vader ~/node_modules%
试试这个:
PROMPT='vader %1~%# '
现在当当前目录为/Users/vader/github/project/node_modules
时,提示会显示为vader node_modules%
;上一个目录,它将变成 vader project%
.
请注意,这不包括您之前 PS1
提示中的 ~/
。在 shell 中,波浪号用作主目录的快捷方式(例如 /Users/vader
),并且可能不是用作指示路径的前导部分已被省略的最佳方式。方括号通常用于:PROMPT='vader [%1d]%# '
在 zshmisc
手册页的 EXPANSION OF PROMPT SEQUENCES 部分中有一个可用的百分比替换列表。
根据 Mac OS 对 Monterey 的更新,它表明新的 shell 是 ZSH:
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
更新后我发现 .bash_profile
不再使用了。经过研究我发现我可以引用 .bash_profile
所以我仍然可以通过添加行来使用我的别名:
source ~/.bash_profile
我发现终端的不同之处在于它不使用 PS1
,而是使用 PROMPT
。更改后:
export PS1='vader ~/${PWD/*\/} '
到
PROMPT='vader %~%# '
它呈现完整路径。在 .zshrc
文件中,我如何指定只呈现当前目录或 basename
的能力,所以如果我有 github/project/node_modules
的路径,终端将是:
vader ~/node_modules%
试试这个:
PROMPT='vader %1~%# '
现在当当前目录为/Users/vader/github/project/node_modules
时,提示会显示为vader node_modules%
;上一个目录,它将变成 vader project%
.
请注意,这不包括您之前 PS1
提示中的 ~/
。在 shell 中,波浪号用作主目录的快捷方式(例如 /Users/vader
),并且可能不是用作指示路径的前导部分已被省略的最佳方式。方括号通常用于:PROMPT='vader [%1d]%# '
在 zshmisc
手册页的 EXPANSION OF PROMPT SEQUENCES 部分中有一个可用的百分比替换列表。