VIM,增量搜索:如何跳转到下一个结果并使其高亮显示?

78

当使用VIM的增量搜索选项时,我通常搜索并在找到第一个结果后(它将被突出显示),使用/键跳转到下一个结果。

但是:

  1. 为此,我需要“取消”我的搜索并返回到正常模式,以便跳转到下一个结果。
  2. /键使VIM跳转到下一个结果,但不会突出显示它。

我想知道是否有更高效的方法来在增量搜索中跳转结果并突出显示它们。

3个回答

119

跳转到下一个搜索结果的惯用键是'n'。

我不太确定您所说的高亮是什么意思 - 如果设置了hlsearch,所有搜索结果都应该被突出显示,对于我来说,无论是使用“n”还是“/”前往下一个结果都没有区别。


2
Matthew,谢谢。不过我使用增量搜索,输入关键词后(它会跳到并高亮显示),然后按ENTER,再使用“n”键光标就会跳到下一个结果。但是它没有被高亮显示。你认为它应该有不同的表现吗? - zoltanctoth
我的编辑器会直接将所有匹配结果都高亮显示出来 - 如果在缓冲区中同时可见多个搜索结果,我可以看到它们都有黄色的背景。这是我的系统上的默认配置,并且我IRC记得它由“hlsearch”设置控制。 - Matthew Walton
16
按“N”键可以向后搜索。 - sunsations
@MatthewWalton 你有什么主意,我怎样可以跳过搜索结果的固定数量。我的意思是,例如跳到第10个匹配行。 - GP cyborg
@GPcyborg 试试 [number]n?这将执行 n[number],即向前移动 n 个结果。 - anon

15

使用 Ctrl-tCtrl-g,您可以在不离开搜索模式的情况下在匹配项之间移动。


这正是我想要的。我希望当前选定的匹配项能够被突出显示。 - Timothy Pulliam
对我来说,这就是问题的答案。 - Joakim Tall

5
如果你想要突出显示所有搜索结果,应该设置 hlsearch 而不是 incsearch

1
那就是问题所在。谢谢。 - zoltanctoth
2
@zoltanctoth:你应该接受另一个答案,因为他先回答了并且实际上说的是一样的。 - Benoit
你说得对。我漏掉了@matthew答案中的hlsearch部分。谢谢你注意到了这点。 - zoltanctoth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接