1) 如何在current directory
( file
) 和git_prompt_info
( ) 之间插入一个空格,而又不使和git
之间留下多余的空格?current directory
text cursor
当不添加空格时:
➜ user ~ |
➜ user ~ cd file|
➜ user filegit:(master) ✗ |
注:|
代表文本光标。
源代码(.zshrc):
PROMPT='%{$fg_bold[green]%}➜ %{$fg_bold[red]%}$USER %{$fg_bold[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
添加空格时:
➜ user ~ |
➜ user ~ cd file|
➜ user file git:(master) ✗ |
current directory
注意:( )~
和git_prompt_info
( )之间的空格可能已被添加,但在()和()git
之间添加了一个额外的空格。current directory
~
text cursor
|
源代码(.zshrc):
PROMPT='%{$fg_bold[green]%}➜ %{$fg_bold[red]%}$USER %{$fg_bold[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
注意:唯一的变化是这里添加了一个空格%c%
-> %c %
。
2)从那里,我如何获得要显示的完整路径?
➜ user ~ cd file|
➜ user ~/file git:(master) ✗ |
答案1
在您的git_prompt_info
函数中,如果有任何输出,则应在输出前加上空格,否则不加。(附注:您可能需要查看集成到 zsh 中的 vcs_info 系统,请参阅 zshcontrib 手册页)
至于你的第二个问题:如果我理解正确的话,你应该能够使用%~
而不是%c
来获得你想要的东西。如果你真的想要满的要显示的路径使用%d
。看看zshmisc
手册页(提示扩展部分) 以了解更多此类变化。