5

大多数 IDE 的文本编辑器会在您搜索某个字符串时显示“this is match 3 of 7”之类的信息。n当您使用and移动到匹配项时,有什么方法可以让 Vim 显示此信息N

4

2 回答 2

6

来自 Vim 中的显示匹配数

您想要的可能是插件IndexedSearch
这样做/set时会显示计数,以及命令行中的搜索查询:

Match 5 of 81  /set/

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

于 2013-05-29T14:11:33.320 回答
2

最常见的方法是将n标志与替换命令一起使用。

:%s/set//gn

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

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

:vimgrep/set/ %

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

使用:vimgrep.

  • :vimgrep从 vim 7.3 开始,不支持使用当前模式,即 no :vimgrep// %。相反,必须使用<c-r>/拉入搜索模式寄存器并可能转义任何/'s。
  • 对于当前文件的使用%意味着该文件必须存在,因此您无法搜索暂存缓冲区。
  • :cnext, , and friends 与 nice and simple and:cprev相比相当冗长。添加漂亮的映射可以克服这个问题。我使用和来自 Tim Pope 的优秀未受损插件。nN[q]q

如需更多帮助,请参阅:

:h :s_flags
:h :vimg
:h c_CTRL-R
:h quote/
:h quickfix
:h c_%
于 2013-05-29T14:43:28.273 回答