8

我正在使用 vim-fugitive 并添加%{fugitive#statusline()}到状态行很好地显示了当前的 git 分支。

但是 git 文件状态指示器(如在git status输出中)呢?

例如,当打开的文件未被跟踪、暂存、清理等时,指示器将通过“[?]”、“[M]”、“[C]”或类似的方式将其显示在状态行中。

如何添加这样的指标?

4

2 回答 2

2

你可以试试我的aurum插件,它的单字符状态指示器是%{Powerline#Functions#aurum#GetStatus()}. 但请注意,aurum 的目标之一是将 VCS 差异隐藏在插件界面后面,因此有六种状态:添加、未知、修改、删除、删除、忽略、清理:均源自 mercurial;并且没有像“在索引中修改”这样的状态(它只是“修改”)。

对于除“clean”之外的所有状态,都会显示大写的第一个字母,对于“clean”,则根本不显示任何内容。aurum#status()如果您想更改它,请使用它,它Powerline#Functions#aurum#GetStatus()只是aurum#status()用于电力线的函数的两行包装器,如果您想更改行为,则无需为包装器创建包装器。

于 2012-09-22T16:04:33.187 回答
2

+如果当前文件被修改,这将显示:

system("[[ -n \"$(git status --porcelain " . shellescape(expand("%")) . ")\" ]] && echo -n +")

作为 vim-powerline 段:

https://github.com/twe4ked/dotfiles/blob/bd0f98531d3467e041af1b8f17556e0052389735/vim/plugin_config/powerline.vim#L1

于 2013-04-10T03:32:55.063 回答