是否有NERDTree或其他vim项目插件与git集成以显示文件状态?

是否有NERDTree或其他vim项目插件与git集成以显示文件状态?,git,vim,nerdtree,Git,Vim,Nerdtree,在转到VIM之前,我与Aptana Studio玩了一段时间,我真正怀念的是Aptana Studio在项目视图窗口中显示文件名的方式,这取决于文件名在git中的状态(未更改、已更改但未分段、分段、未跟踪)。我知道我可以直接去终端找到它,但在我的编辑器中有它,而不必键入任何命令,这真的很有帮助 有人知道vim是否存在具有此功能的插件吗?它是NERDTree的插件、替代品还是其他什么?你看过吗?它并不能完全满足您在基于git状态的NERDTree颜色编码方面的需求——我不知道有哪款Vim插件能做到

在转到VIM之前,我与Aptana Studio玩了一段时间,我真正怀念的是Aptana Studio在项目视图窗口中显示文件名的方式,这取决于文件名在git中的状态(未更改、已更改但未分段、分段、未跟踪)。我知道我可以直接去终端找到它,但在我的编辑器中有它,而不必键入任何命令,这真的很有帮助

有人知道vim是否存在具有此功能的插件吗?它是NERDTree的插件、替代品还是其他什么?

你看过吗?它并不能完全满足您在基于git状态的NERDTree颜色编码方面的需求——我不知道有哪款Vim插件能做到这一点,尽管它会非常棒。它确实是一个非常好的小Git包装器,允许您使用
:Gstatus
在拆分窗口中快速查看项目的状态。不需要去终点站。甚至可以将当前文件的分支指示符添加到Vim的状态行中

您可以在Squisition.vim上观看五部分屏幕广播中的第一部分。

我使用的插件提供了多种git功能,如添加/提交/差异/日志等。因此,在vim中,我将
gs
映射到
GitStatus
,这将打开一个新的视口并整洁地显示状态:

但是我最喜欢的插件功能是
GitBranch()
函数,您可以使用它将当前分支添加到您的状态行中,就像我一样

按照同样的思路,应该可以编写一个函数来调用
GitStatus
,并对输出进行greps处理,并报告回购中是否存在分期变更或未分期变更,然后可以方便地将其添加到statusline

为了将来的参考,我创建了一个NERDTree分支,可以在中找到它

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


更新:上面链接的项目已停止。要找到一个(更好的)替代方案,请尝试以下内容:

我想您会喜欢这个

这是我的叉状书呆子树

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

指示器
  • ✭ : 未追踪
  • ✹ : 在工作树中修改
  • ✚ : 在索引中暂存(排除重命名状态)
  • ➜ : 改名
  • ═ : 未合并
  • ✖ : 已删除(此指示器无法显示,因为NERDTree不显示已删除的文件。我目前不知道如何解决此问题。)
  • ✗ : 脏(仅适用于目录)
  • ✔︎ : 清除(仅适用于目录)
键映射 与插件默认值相同

  • ]c
    :跳到下一个指示器
  • [c
    :跳到上一个指示器

在功能/UI方面非常完美。但是导航时显示有问题,因为某些重绘没有发生。继续做好工作!这会永远消失吗?链接是broken@Hubro:是的,我不再维护那个项目。用更好的替代方案更新了帖子。小心点。它仍在开发中。+1关于添加分支索引的评论ator,在使用逃犯时不知道此功能:)