Vim:突出显示搜索中的所有匹配项

Vim:突出显示搜索中的所有匹配项,vim,Vim,我正在使用incsearch和hlsearch选项。在我按enter键后,所有匹配项都会高亮显示,但在我键入时,只有第一个匹配项会高亮显示。我想在键入时突出显示所有匹配项 如何获得这种行为?不幸的是,如果不在Vimscript中编写自己的搜索(通过getchar()捕获每个键,通过:match突出显示),或者在C中修补核心Vim源代码,这是不可能的 没有实现这一点的原因可能是为了保持incsearch的快速性和即时性 更新:现在突出显示所有匹配项是从Vim 7.4.2259开始的默认行为(使用“

我正在使用
incsearch
hlsearch
选项。在我按enter键后,所有匹配项都会高亮显示,但在我键入时,只有第一个匹配项会高亮显示。我想在键入时突出显示所有匹配项


如何获得这种行为?

不幸的是,如果不在Vimscript中编写自己的搜索(通过
getchar()
捕获每个键,通过
:match突出显示),或者在C中修补核心Vim源代码,这是不可能的

没有实现这一点的原因可能是为了保持incsearch的快速性和即时性

更新:现在突出显示所有匹配项是从Vim 7.4.2259开始的默认行为(使用“incsearch”只能看到下一个匹配项)。

您可以使用:


使用您最喜欢的插件管理器和。

也许我错了,因为答案似乎很简单,但只需同时启用
incsearch
hlsearch

set incsearch
set hlsearch

我今天在Sublime文本中胡闹(在我重新发现Vim之前,我是一个快乐的ST用户),这是我希望在Vim中看到的东西,最终可能是的复制品。答案应该是合并的。我打赌有人可以想出一种异步方式来完成这项工作,并且只使用空闲周期来填充其余的匹配项(无论如何,只有那些在缓冲区中可见的匹配项)。你知道Vim的体系结构是否适用于这种情况,或者在每个键触发后计算必须阻塞吗?@StevenLu Vim本质上是单线程的,所以这可能很困难。@StevenLu这是Emacs中的默认行为,因此,我认为在Vim中实现这一点也不难。@Xdxter您能详细说明一下这个假设背后的原因吗?Emacs与Vim没有任何关系,只是它已经存在了一段时间。@Xdxter请参阅(在我的回答中)。