Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Suppose I want to make all text that matches some regex persistently and automatically (and without affecting / searches) appear in a different color. How would I do this in vim 7.4?

share|improve this question
You only need to search that regex, vim will highlight matched text for you. – cuonglm Aug 12 '14 at 7:20
@Gnouc I don't want to highlight the text, I want to change the color. – quant Aug 12 '14 at 7:21
Do you mean syntax highlighting or the text matching a / search? – Michael Homer Aug 12 '14 at 7:25
@MichaelHomer I want to change the color of text that matches a regex (so the text that could be simply highlighted with a / search) – quant Aug 12 '14 at 7:26
What do you mean by "change the color"? – Michael Homer Aug 12 '14 at 7:27

Depending on exactly what you want, this is either what mark.vim or general syntax highlighting do.

Mark allows creating some number of distinct groups of highlighted patterns or extents. Specifying a particular regular expression is done with Leaderr by default. There's also a :Mark command. You can set the colourscheme using :MarkPalette.

share|improve this answer
mark.vim seems won't work with vim 7.4. – cuonglm Aug 12 '14 at 7:51
Works for me, but I can't comment on what else might get in the way. – Michael Homer Aug 12 '14 at 7:55
@Gnouc: mark.vim supports Vim 7.2, 7.3, and also 7.4. The version given on vim.org is the lowest supported one! – Ingo Karkat Aug 18 '14 at 11:12

You can do something like this in your .vimrc:

highlight Test ctermfg=red
autocmd BufWinEnter * match Test /Power/
autocmd InsertEnter * match Test /Power/
autocmd InsertLeave * match Test /Power/
autocmd BufWinLeave * call clearmatches()

Then when you open file, any text matches Power will be highlighted as red. This is a static way, you can write your own function to work with any pattern and color you want.

You can also use mark.vim but it is only tested with vim version 7.2 and lower.

share|improve this answer
Doesn't this interfere with other searches? – Bernhard Aug 12 '14 at 8:03
Yes, It will interfere, since when it's only a simple approach. We need more works if we want it really done. – cuonglm Aug 12 '14 at 8:08
That was his most important requirement, but it can be solved by using 2match or 3match. – Bernhard Aug 12 '14 at 8:49

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.