如何在 vim 中使用 :argdo 查找字符串?

如何在 vim 中使用 :argdo 查找字符串?

我尝试了这个:

:argdo /pattern

但是,它只是快速浏览了所有文件,并没有在每个找到字符串的位置暂停。我只是想遍历找到字符串的所有位置,而不是替换。

答案1

Vim 有一个:sleep命令,您可以在命令中使用它来在每次匹配时暂停几秒钟。但更好的解决方案可能是使用:vimgrep或甚至:vimgrepadd建立一个包含每个文件的快速修复列表,然后您可以使用:cnext/自行迭代:cprev

答案2

你可能会发现此截屏视频非常有启发性。

一个更简单(功能更弱)且相对晦涩(阅读:help :ilist)的替代方案:

:argdo ilist foo
:b <bufname>|<line number>

答案3

您可以使用:vimgrep /pattern/ ##

该命令将搜索您的 arglist 文件(与argdo使用的列表相同),加载列表中的匹配项quickfix,然后带您到第一个匹配项。然后您可以使用:cn移动到下一个匹配项。

如果你经常使用 quickfix,那么值得安装vim 未受损。这将为您提供用于快速浏览快速修复列表的键映射(例如,]q而不是:cn)。

本页对 vimgrep 和使用 quickfix 列表进行了很好的概述。 http://vimcasts.org/episodes/search-multiple-files-with-vimgrep/

相关内容