如何在“file”和“git”之间插入空格+如何获取完整路径来显示?

如何在“file”和“git”之间插入空格+如何获取完整路径来显示?

1) 如何在current directory( file) 和git_prompt_info( ) 之间插入一个空格,而又不使和git之间留下多余的空格?current directorytext 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手册页提示扩展部分) 以了解更多此类变化。

相关内容