显示增量搜索期间的匹配数

时间:2013-05-29 14:05:06

标签: vim

大多数IDE的文本编辑器会在您搜索某个字符串时显示“这是匹配3的7”等信息。当您使用nN移动到匹配项时,有没有办法让Vim显示此信息?

2 个答案:

答案 0 :(得分:6)

From Show Count of Matches in Vim

你想要的可能就是插件IndexedSearch 在执行/set时,它将显示计数,并在命令行中显示搜索查询:

Match 5 of 81  /set/

使用您喜欢的插件管理器安装它。我推荐Vundle

答案 1 :(得分:2)

最常见的方法是使用n标志和替换命令。

:%s/set//gn

或通过:%s//gn使用当前模式。这会为您提供一些您要求的反馈。

但我更喜欢使用:vimgrep和quickfix列表。通过以下方式搜索您的模式:

:vimgrep/set/ %

这将搜索当前文件%,并将匹配项添加到quickfix列表中。然后,您可以通过:cnext:cprevious浏览quickfix列表。移动到quickfix列表后,文本将显示在底部,显示类似(1 of 5)的内容。通过使用:copen命令,将打开一个显示quickfix结果的窗口。通过在quickfix项目上按<cr>移动到模式。

使用:vimgrep有一些缺点。

  • :vimgrep自vim 7.3起,不支持使用当前模式,即不使用:vimgrep// %。相反,必须使用<c-r>/来提取搜索模式寄存器并可能转义任何/
  • 对当前文件使用%表示该文件必须存在,因此您无法搜索暂存缓冲区。
  • :cnext:cprev和朋友相比,简洁明了nN。添加好的映射可以克服这个问题。我使用Tim Pope的优秀unimpaired插件中的[q]q

如需更多帮助,请参阅:

:h :s_flags
:h :vimg
:h c_CTRL-R
:h quote/
:h quickfix
:h c_%