2012-08-04 94 views
2

我正在使用vcs_info在我的提示中添加有關git的信息。我已經配置:ZSH提示不顯示git unstaged文件

setopt promptsubst     
autoload -Uz vcs_info    
zstyle ':vcs_info:*' enable git 
zstyle ':vcs_info:*' check-for-changes true 
zstyle ':vcs_info:*' stagedstr '!' 
zstyle ':vcs_info:*' unstagedstr '?'           
zstyle ':vcs_info:*' formats '[%b]%c%u' 
... 
PROMPT='${vcs_info_msg_0_}$ ' 

現在,我有一個混帳回購協議與電流的變化,即分階段和不分階段的文件:

# On branch test 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  new file: a 
# 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
#  b 

然而,我的提示是忽略了未分級的文件,只是露出來了!爲上演的一個。它看起來如下:

[test]!$ 

或者是我誤解了%u應該輸出或我必須有一個錯字的地方。我在zsh 4.3.17上。

回答

2

我認爲你的.zshrc可能是好的。

您的存儲庫文件「a」正在上演。所以zsh顯示「!」按預期提示。但是文件「b」只是沒有跟蹤。未追蹤!=未分期。因此,「?」沒有顯示。

+0

我想你完全誤解了我的問題。我只想知道爲什麼我的zsh沒有顯示?即使有未分期的文件。 – Sebi 2012-08-06 18:34:11

+0

您的存儲庫文件a正在分階段進行。所以顯示「!」在提示。還行吧。但是文件b沒有被跟蹤。未追蹤!=未停用。所以不顯示「?」。 – 2012-08-06 20:29:37

+0

好吧,我明白你要去哪裏。我誤解了vcs_info在未跟蹤文件的情況下會給我什麼。所以基本上它缺少未跟蹤文件的佔位符:-)我將編輯你的答案並接受它。 – Sebi 2012-08-07 12:05:14