Setting up multiple highlight rules in vim
One way:
highlight EWOL ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
match EWOL /\%>20v.\+\|\s\+$/
Another:
highlight ExtraWhitespace ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
match ExtraWhitespace /\s\+$/
highlight OverLength ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
2match OverLength /\%>80v.\+/
Also available: 3match
. Up to three matches can be active at a time. Or you can use matchadd()
to create matches without limit to the quantity.
Note: 3match
is used by matchparen, so will conflict if you use it.
Use matchadd()
, so add this to your .vimrc
:
highlight ExtraWhitespace ctermbg=grey guibg=grey
call matchadd('ExtraWhitespace', '\s\+$', 11)
highlight OverLength ctermbg=lightgrey guibg=lightgrey
call matchadd('OverLength', '\%>80v.\+')
To view all matches:
:echo getmatches()
To remove matches use matchdelete()
.