如何在Linux中配置命令提示符以显示当前目录?我希望能够在 .zshrc 文件中设置这个选项。
如 Jiri Kremser 所说,你可以使用 PS1
变量更改提示符。例如,如果你想将提示符更改为像这样的内容(显示当前路径相对于 HOME 目录):
在 .zshrc
中使用以下设置:
export PS1="[%~]$ "
运行 source .zshrc
以使更改生效。
关于提示变量的官方zsh文档可以在这里找到。
我在我的$PS1
中使用"%20<...<%~%<<"
,这样如果当前工作目录中包含前缀,则会将其替换为~
:它适用于$HOME
(替换为~
)、用户的主目录(替换为~user
)和由hash -d
定义的目录(例如,如果有hash -d foo=$HOME/path/to/dir
,则此目录将被替换为~foo
)。%20<...<
和%<<
使zsh可以在左侧截断目录名称,以避免提示过长。
prompt_dir() {
prompt_segment 蓝色 黑色 '%~'
}
例如:/mnt/c/personal/repo/myprojects/alphagame $
显示当前目录
而不是完整路径
。
prompt_dir() {
prompt_segment blue black '%1~'
}
Example: alphagame $
同样地,仅显示最后2个目录
而不是完整路径
prompt_dir() {
prompt_segment blue black '%2~'
}
例子:myprojects/alphagame $
'%2~'
:) - Wolfgang${PWD/#$HOME/~}
添加到您的PROMPT变量中。如果您不想在家目录中显示~,则只需使用$PWD
即可。