当前位置:  开发笔记 > 开发工具 > 正文

有没有办法在(g)Vim中突出显示多个搜索?

如何解决《有没有办法在(g)Vim中突出显示多个搜索?》经验,为你挑选了5个好方法。

我想在Vim/gVim中搜索多个字符串,并以不同的颜色突出显示它们.有没有办法用开箱即用的Vim或插件做到这一点?



1> 小智..:

在vim编辑器中有两种简单的方法可以突出显示多个单词.

    转到搜索模式,即键入" / "然后键入\ v,然后键入要搜索的单词" |" '(管道).
    例如:/\vword1 | word2 | word3

    转到搜索模式,然后按' \ |键入要搜索的单词 ".
    例如:/ word1\| word2\| word3

基本上,第一种方法是使您进入正则表达式模式,这样您就不需要在用于搜索的每个管道或其他分隔符之前添加任何额外的反斜杠.



2> philant..:

对于两种搜索模式,这可以手动完成,无需任何脚本.

: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


不适合我.对于任何想知道尝试这个的人:http://stackoverflow.com/questions/4162664/vim-highlight-a-list-of-words#comment4494852_4162735

3> 小智..:

要在vim中搜索多个字符串,您可以这样做:

/search1\|search2

这工作,并强调双方search1search2,但相同的颜色.你必须在vim编辑器中这样做.



4> George V. Re..:

尝试使用" 突出显示多个单词 " matchadd().



5> James Haigh..:

是的,你可以使用开箱即用的matchadd().

要添加突出显示,例如.用于尾随空格:

:highlight ExtraWhitespace ctermbg=grey guibg=grey
:call matchadd('ExtraWhitespace', '\s\+$', 11)

要查看所有匹配项:

:echo getmatches()

要删除匹配使用matchdelete().例如.:

:call matchdelete(7)

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有