【问题标题】:ZSH prompt not showing git unstaged filesZSH 提示不显示 git unstaged 文件
【发布时间】:2012-08-02 12:09:27
【问题描述】:

我正在使用 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]!$

要么我误解了 %u 应该输出什么,要么我必须在某处有错字。我在 zsh 4.3.17 上。

【问题讨论】:

    标签: git zsh prompt


    【解决方案1】:

    我认为你的 .zshrc 可能没问题。

    您的存储库文件“a”已暂存。所以 zsh 显示“!”按预期提示它。但文件“b”只是未跟踪。未跟踪!=未上演。所以, ”?”未显示。

    【讨论】:

    • 我认为你完全误解了我的问题。我只想知道为什么我的 zsh 没有显示?即使有未暂存的文件。
    • 您的存储库文件 a 已暂存。所以显示“!”在提示。还行吧。但是文件 b 是未跟踪的。未跟踪!=未分级。所以不显示“?”。
    • 好的,我知道你要去哪里了。我误解了 vcs_info 在未跟踪文件的情况下会给我什么。所以基本上它缺少未跟踪文件的占位符:-)我会编辑你的答案并接受它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 2016-05-30
    • 2015-04-02
    • 2010-11-10
    • 2021-01-13
    相关资源
    最近更新 更多