有没有什么办法突出(g)Vim中的多个search?
我想在Vim / gVim中search多个string,并用不同的颜色高亮显示。 有没有一种方法使用现成的Vim或插件?
尝试使用matchadd()
突出显示多个单词 。
对于两种search模式,这可以手动完成,不需要任何脚本。
:match Search /pattern/ :match Search /<CTRL-R>/ # highlight the current search pattern
search是突出显示组的名称,使用完成select另一个组以高亮显示不同的颜色。
:match <TAB> :match <TAB> # completion will list all highlight group
当你不能使用你自己的vimconfiguration时,这是很方便的。
:match none # clear the match pattern to stop highlighting
有两种简单的方法可以在vim编辑器中突出显示多个单词。
- 进入search模式,即input“ / ”,然后input\ v ,然后input要用“ | ”分隔的单词 '(pipe)。
例如: / \ vword1 | word2 | word3 - 进入search模式,input您要search的单词,用\ \分隔 ”。
例如: / word1 \ | word2 \ | word3
基本上,第一种方法是将你置于正则expression式模式,这样你就不需要在用于search的每个pipe道或其他分隔符之前放置任何额外的反斜线。
为了在vim中search多个string,你可以这样做:
/search1\|search2
这个工作,并会突出searchsearch1
和search2
,但具有相同的颜色。 您必须在vim编辑器中执行此操作。
是的,你可以使用matchadd()
。
添加一个突出显示,例如。 尾随空格:
:highlight ExtraWhitespace ctermbg=grey guibg=grey :call matchadd('ExtraWhitespace', '\s\+$', 11)
查看所有匹配:
:echo getmatches()
要删除匹配使用matchdelete()
。 例如。:
:call matchdelete(7)
多重search:同时突出显示多个search,每个search具有不同的颜色。
http://www.vim.org/scripts/script.php?script_id=479
:search//将突出显示当前缓冲区中的所有事件。 随后:search将突出显示当前缓冲区中的所有事件。
MultipleSearch2是与vim的search集成的另一个脚本: http : //www.vim.org/scripts/script.php? script_id=1183
我的标记插件可以同时突出显示不同颜色的多个单词,如内置search。 它带有许多映射和命令,允许保存图案,并支持多种颜色调色板。
我更喜欢高亮插件,简单而又足够,可以自动突出显示不同颜色的不同的单词。