Remove VIM search highlight

After a search I've done, all the matches for the respective query remain highlighted and it's annoying. This happens even after I close the respective file (normal behavior?). How to I remove this?

5 Answers

You want the command :nohlsearch, but you don't want to type that every time. Put this in your ~/.vimrc:

nnoremap <silent> <leader>n :nohlsearch<CR>

After that, you just enter your leader (which by default is \) and then n to clear the matches. You don't need to use n; if you prefer, pick something else.

You can also remap your leader to something more comfortable, if you like. I use a comma:

let mapleader = ","

(That goes before the mapping to clear searches.)

2

i just /qiw772723euz to "search" for something thats not in the file. hacky workaround, i know, i am interested in a real solution as well :)

1

Similar to @Telemachus answer above, a comment on this answer over at SO by @David Winslow suggested mapping a toggle of hlsearch. You would map the following:

nmap <silent> <leader>n :set hlsearch!<CR>

Hitting n would then toggle highlight search off and on every time you hit it.

In my config, I clear highlighted search terms by just hitting enter in command mode. This is how that's configured.

set hlsearch " highlight all matched terms
" Pressing return clears highlighted search
:nnoremap <CR> :nohlsearch<CR>/<BS>

As a side note, I like to make sure that my search matches are highlighted super clearly, no matter the color scheme, so I give them black text on a yellow background.

" When highlighting search terms, make sure text is contrasting color
:highlight Search ctermbg=yellow ctermfg=black
" Do the same for gvim
:highlight Search guibg=yellow guifg=black

I have a slightly different solution. To me it feels as the natural thing to do would be to press <esc> to make it go away. However, that doesn't work. Mapping <esc> to :noh has nasty side-effects, so that's not an option either. <Leader>n and similar mappings feels unintuitive for me for such a trivial task. However, pressing <esc> twice is something I can live with:

nnoremap <silent> <esc><esc> :nohlsearch<CR>

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like