我正在使用vcs_info向我的提示添加有关git的信息。我已配置:
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_}$ '
现在,我有一个当前更改的git仓库,即一个分阶段和未分阶段的文件:
# 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]!$
要么我误解了你应该输出的是什么,要么我必须在某个地方输入错字。我在zsh 4.3.17。
答案 0 :(得分:2)
我认为你的.zshrc可能还行。
您的存储库的文件“a”已暂存。所以zsh显示“!”按预期提示它。但文件“b”只是未跟踪。未跟踪!=未分阶段。因此,“?”没有显示。