使用不同颜色突出显示搜索(hls)多个搜索词的匹配项

使用不同颜色突出显示搜索(hls)多个搜索词的匹配项

在编写代码时,我经常会搜索具有相似名称的变量的出现情况。例如,查找所有匹配var1和的变量var2,如下所示:

/\<var1\>\|\<var2\>

现在我真的很喜欢 Vim 的突出显示搜索功能,因为一旦我进行搜索,所有匹配的实例都会以黄色弹出。

有没有办法为搜索字符串中的不同术语分配不同的颜色?也就是说,所有匹配项都为var1黄色,所有匹配项var2都为绿色?

答案1

使用该'hlsearch'选项,则不需要,它们都必须以相同的颜色显示。但是,您可以使用该:match功能。例如:

:match TODO /var1/
:2match Type /var2/
:3match Comment /var3/

当然,这比直接'hlsearch'匹配更麻烦,因为它要求您知道已经定义了哪些语法着色组,或者定义您自己的语法着色组。此外,您只能通过这种方式进行最多三个单独的匹配。如果您需要更多,则必须使用matchadd()

看:

:help :match
:help :highlight
:help highlight-groups
:help matchadd()

答案2

内置搜索无法做到这一点,但有些插件可以让你使用不同的颜色,例如我自己的标记插件。(插件页面有替代插件的链接。)其中大多数使用该matchadd()功能,确保该功能全局应用于所有窗口,并通过映射和命令提供类似搜索的界面。

相关内容