When I do a search in vim, I like to have my results highlighted and super-visible, so I give them a bright yellow background and a black foreground in my .vimrc.
" When highlighting search terms, make sure text is contrasting colors
:highlight Search guibg=yellow guifg=black
(This is for GUI versions of vim, like MacVim or Gvim; for command-line, you'd use ctermbg and ctermfg.)
But I sometimes use search with a command, as in c/foo - "change from the cursor to the next occurrence of foo."
In that case, I don't want all the occurrences of foo to be highlighted.
Can I turn off highlighting only in cases where search is used as a movement for a command?
Answer
These naive mappings seem to help.
normal search
Turn highlighting on before doing the search:
nnoremap / :set hls/ motion search
Turn highlighting off before doing the search:
nnoremap v/ :set nohlsv/
nnoremap d/ :set nohlsd/
nnoremap y/ :set nohlsy/
nnoremap c/ :set nohlsc/
Note that you'd need to setup similar mapping for ?.
No comments:
Post a Comment