在编写代码时,我经常会搜索具有相似名称的变量的出现情况。例如,查找所有匹配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()
功能,确保该功能全局应用于所有窗口,并通过映射和命令提供类似搜索的界面。