【问题标题】:How to add git file status to vim's statusline?如何将 git 文件状态添加到 vim 的状态行?
【发布时间】:2013-04-10 11:32:55
【问题描述】:

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

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

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

如何添加这样的指标?

【问题讨论】:

    标签: git vim


    【解决方案1】:

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

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

    【讨论】:

      【解决方案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

      【讨论】:

        猜你喜欢
        • 2021-11-09
        • 1970-01-01
        • 2019-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-25
        相关资源
        最近更新 更多