Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any way to highlight multiple searches in (g)Vim?

I want to search for multiple strings in Vim/gVim and have them highlighted in different colours. Is there a way of doing this with out-the-box Vim or with a plug-in?

like image 793
feihtthief Avatar asked Apr 01 '09 07:04

feihtthief


People also ask

How do I enable highlighting in vim?

After opening login.sh file in vim editor, press ESC key and type ':syntax on' to enable syntax highlighting. The file will look like the following image if syntax highlighting is on. Press ESC key and type, “syntax off” to disable syntax highlighting.


2 Answers

There are two simple ways to highlight multiple words in vim editor.

  1. Go to search mode i.e. type '/' and then type \v followed by the words you want to search separated by '|' (pipe).
    E.g.: /\vword1|word2|word3

  2. Go to search mode and type the words you want to search separated by '\|'.
    E.g.: /word1\|word2\|word3

Basically the first way puts you in the regular expression mode so that you do not need to put any extra back slashes before every pipe or other delimiters used for searching.

like image 103
Raviteja Avatar answered Sep 19 '22 03:09

Raviteja


This can be done manually, without any script, for two search patterns.

:match Search /pattern/ :match Search /<CTRL-R>/   # highlight the current search pattern 

Search is the name of the highlight group, use the completion to select another group to highlight with a different color.

 :match <TAB>  :match <TAB>    # completion will list all highlight group 

This an be handy when you cannot use your own vim configuration.

:match none      # clear the match pattern to stop highlighting 
like image 27
philant Avatar answered Sep 17 '22 03:09

philant