有没有什么办法突出(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编辑器中突出显示多个单词。

  1. 进入search模式,即input“ / ”,然后input\ v ,然后input要用“ | ”分隔的单词 '(pipe)。
    例如: / \ vword1 | word2 | word3
  2. 进入search模式,input您要search的单词,用\ \分隔 ”。
    例如: / word1 \ | word2 \ | word3

基本上,第一种方法是将你置于正则expression式模式,这样你就不需要在用于search的每个pipe道或其他分隔符之前放置任何额外的反斜线。

为了在vim中search多个string,你可以这样做:

 /search1\|search2 

这个工作,并会突出searchsearch1search2 ,但具有相同的颜色。 您必须在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。 它带有许多映射和命令,允许保存图案,并支持多种颜色调色板。

我更喜欢高亮插件,简单而又足够,可以自动突出显示不同颜色的不同的单词。

http://www.vim.org/scripts/script.php?script_id=1599