是否有一个NREDTree或其他项目插件为vim与git集成以显示文件的状态?

时间:2011-06-23 13:54:07

标签: git vim nerdtree

我在Aptana Studio上玩了一段时间才转移到VIM,我唯一真正想念Aptana Studio的方式就是在项目视图窗口中你的文件名显示不同的颜色,这取决于他们在git中的状态(未更改,已更改但未上演,上演,未跟踪)。我知道我可以去终端找出来,但是在我的编辑器里把它放在那里而不必输入任何命令真的很有帮助。

有没有人知道vim是否存在具有此功能的插件?它是否是NERDTree的插件,替代品或其他东西?

4 个答案:

答案 0 :(得分:9)

为了将来的参考,我创建了一个NERDTree的分支,它可以在https://github.com/SeySayux/NerdTreeGit找到它。

请注意它仍处于开发阶段,因此可能会中断。它还包含一些不可配置的选项。

更新:上面链接的项目已停止。对于(更好)替代方案,请尝试以下方法:https://github.com/Xuyuanp/nerdtree-git-plugin

答案 1 :(得分:8)

你看过fugitive.vim了吗?它根据git状态在NERDTree的颜色编码方面没有完全符合你的要求 - 我不知道任何Vim插件,尽管它会很棒。它可以作为一个非常棒的小Git包装器,并允许您在:Gstatus的拆分窗口中快速查看项目的状态。无需去终端。您甚至可以将当前文件的分支指示符添加到Vim的状态行。

您可以在fugitive.vim here的五部分截屏视频中观看第一部。

答案 2 :(得分:4)

我使用git.vim插件提供了几个git功能,例如add / commit / diff / log等。所以从vim中,我已将<Leader>gs映射到GitStatus,打开一个新的视口并整齐地显示状态:

enter image description here

但是我最喜欢的插件功能是GitBranch()功能,您可以使用GitStatus功能将当前分支添加到状态行。

沿着相同的路线,应该可以编写一个调用{{1}}的函数并greps输出并报告repo中是否存在分阶段更改或未分阶段更改,然后可以方便地将其添加到状态行。

答案 3 :(得分:0)

我想你想要https://github.com/Xuyuanp/git-nerdtree

这是我分叉的NERDTree。

为NERDTree添加git status支持。您可以指示文件的git状态,快速查看您在项目中暂存,取消暂停和修改或删除的文件,而无需任何额外的工作。

指示器

  • ✭:Untracked
  • ✹:在工作树中修改
  • ✚:分阶段进入(排除重命名状态)
  • ➜:重命名
  • =:未合并
  • ✖:已删除(此指示器无法显示,因为NERDTree不显示已删除的文件。我目前没有完美的想法来解决此问题。)
  • ✗:脏(仅限目录)
  • ✔︎:清洁(仅限目录)

键映射

GitGutter插件默认相同。

  • ]c:跳转到下一个指标
  • [c:跳转至指标