在撤消树中搜索文件的所有版本


11

有没有比一次一次查看文件的随机旧版本(使用香草VIM命令,Gundo或其他插件)更简单的方法来查找Vim的撤消树中的特定更改?

理想情况下,我想输入一个搜索模式,使其与Gundo预览窗格中显示的所有差异匹配,然后让Gundo向我展示哪些版本具有与该搜索匹配的差异。

这个问题提出的要求几乎完全相同,但是问问者接受了一个仅推荐Gundo的答案,尽管它很不错,但似乎并没有满足我的要求。

我已将此作为Gundo的一项新功能,但未得到任何回应。

编辑:对于undotree,此功能有一个开放的请求

注意:此问题已从超级用户 “手动迁移” 。


注意:plugin-gundo对于这个问题,这将是一个很好的标签,但不幸的是,该标签尚不存在,并且我没有代表。
凯尔·斯特兰德

1
还有undotree。我不知道它与gundo有什么不同,或者它是否支持您想要的功能,但是您可以查看一下。
Martin Tournoij 2015年

2
撞!如果您检查了Gundo问题,则有人发布了提供搜索功能的fork。
joeytwiddle

@joeytwiddle我看到了!不过还没有检查出来。
凯尔·斯特兰德

Answers:


6

某些情况下,这可能就足够了:

:changes

不幸的是,它没有显示您的编辑历史记录的完整摘要。每次更改后,它似乎仅显示您登陆的文本行

这样足以显示所有单行插入或编辑,但仅显示多行插入的最后一行,而不会显示已删除的文本。

尽管可以抓取以下命令,然后执行以下操作,但只能通过视觉方式进行搜索:

:PipeCmd changes | less

这将允许使用搜索/。或者只是通过管道grep代替less

搜索该列表的另一种方法是安装Unite插件,然后执行以下操作:

:Unite change

1
嗯 由于进行搜索和替换可以使被替换的单词对完全不可见changes,因此这并不是非常有用。我真正想要的是能够执行该操作:%s/foo/bar/g,然后进行搜索foo将(重新构造并)显示存在该文件的最新版本foo
凯尔·斯特兰德

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.