【问题标题】:Gstatus changed behaviour in vim-fugitiveGstatus 改变了 vim-fugitive 中的行为
【发布时间】:2013-12-21 18:37:21
【问题描述】:

几个月来,我一直在使用 vim 和出色的逃犯插件。但是今天,由于我无法解决的原因,:Gstatus 命令改变了行为。

它仍然会打开一个类似“git status”的屏幕,它会响应“R”来刷新它。但是,当我转到“已修改:...”列表并点击“D”时,我并没有得到两个显示差异的拆分窗口,而是得到了“git diff”输出。此外,在修改后的文件上点击“-”根本不会暂存它。

好像所有的力量都从这个模式中消失了?

我还怀疑它打开的类似“git status”的屏幕实际上是 git status 的确切输出。它的格式也与以前不同;顶行是绿色的,下一行以红色背景加粗 - 这与我在 git commit 消息中得到的颜色方案相同(如果您不将第二行留空,则会突出显示错误)。不确定这是否有助于或只是混淆问题......

根据下面的评论,我检查了该屏幕上的键映射:

:verbose nmap D
> n  D           *@:<C-U>execute <SNR>72_StageDiff('Gvdiff')<CR>                                                                                                                                                       
> Last set from ~/.dotfiles/vim/bundle/vim-fugitive/plugin/fugitive.vim 

:verbose nmap -
> n  -           *@:<C-U>silent execute <SNR>72_StageToggle(line('.'),line('.')+v:count1-1)<CR>                                                                                                                        
> Last set from ~/.dotfiles/vim/bundle/vim-fugitive/plugin/fugitive.vim

任何人都知道我犯了什么错误,或者我得到的其他类似状态的屏幕是什么?

【问题讨论】:

  • 请查看:verbose nmap &lt;buffer&gt; 并确保D- 映射到Fugitive 的&lt;Plug&gt; 映射。另请确保您拥有最新版本的逃犯。
  • 它们似乎正确映射 - 已在主要描述中添加了值
  • SO 不是问题跟踪器,请使用逃犯的问题跟踪器。
  • 这两天前对我有用,现在坏了。我没有改变我的 vim 或 vim-fugitive 版本。所以我很确定这是一个“用户错误”而不是逃犯的问题。
  • 你最近升级到 Git 1.8.5 了吗?状态输出已更改,并且与旧版本的 vim-fugitive 不兼容,因为它缺少 # 前缀。尝试更新你的 vim-fugitive。

标签: git vim vim-fugitive


【解决方案1】:

在这种情况下,我的 Git 版本已经通过常规系统更新进行了更新,而我的 vim-fugitive 版本已经有一段时间没有更新了。

这意味着新的 Git 状态格式与旧版本的 vim-fugitive 的期望不兼容。

我使用 vundle 来管理我的 vim 插件,所以 vim 中的解决方案是运行

:BundleInstall!

这当然更新了我所有的插件,所以希望不会造成更多问题。但就目前而言,我在 vim 中的 :Gstatus 命令再次运行良好。

感谢Kamil Kisiel 的回答

【讨论】:

  • +1 重新安装 vim-fugitive 解决了我升级到 git 1.8.5.1 后的问题
【解决方案2】:

以防万一其他人遇到与我相同的问题: 如果您在 gitconfig 中设置自定义 core.commentchar,这些 fugitive 的映射将不再起作用。

在 GitHub 上打开了一个拉取请求,为该问题提供了部分修复 (https://github.com/tpope/vim-fugitive/pull/689) - 不过我自己还没有尝试过。

【讨论】:

    猜你喜欢
    • 2016-05-06
    • 2013-01-18
    • 2013-05-17
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    相关资源
    最近更新 更多