我想在Vim/gVim中搜索多个字符串,并以不同的颜色突出显示它们.有没有办法用开箱即用的Vim或插件做到这一点?
在vim编辑器中有两种简单的方法可以突出显示多个单词.
转到搜索模式,即键入" / "然后键入\ v,然后键入要搜索的单词" |" '(管道).
例如:/\vword1 | word2 | word3
转到搜索模式,然后按' \ |键入要搜索的单词 ".
例如:/ word1\| word2\| word3
基本上,第一种方法是使您进入正则表达式模式,这样您就不需要在用于搜索的每个管道或其他分隔符之前添加任何额外的反斜杠.
对于两种搜索模式,这可以手动完成,无需任何脚本.
:match Search /pattern/ :match Search // # highlight the current search pattern
搜索是突出显示组的名称,使用完成选择另一个组以使用不同的颜色突出显示.
:match:match # completion will list all highlight group
当您无法使用自己的vim配置时,这非常方便.
:match none # clear the match pattern to stop highlighting
要在vim中搜索多个字符串,您可以这样做:
/search1\|search2
这工作,并强调双方search1
和search2
,但相同的颜色.你必须在vim编辑器中这样做.
尝试使用" 突出显示多个单词 " matchadd()
.
是的,你可以使用开箱即用的matchadd()
.
要添加突出显示,例如.用于尾随空格:
:highlight ExtraWhitespace ctermbg=grey guibg=grey :call matchadd('ExtraWhitespace', '\s\+$', 11)
要查看所有匹配项:
:echo getmatches()
要删除匹配使用matchdelete()
.例如.:
:call matchdelete(7)