Deselecting matching strings after search-and-replace in Vim

vim
10,607

Solution 1

:nohlsearch will stop highlighting it but keep it as the active search pattern. (It will start being highlighted on n etc.)

:let @/="" will clear the search pattern register (so that n etc. won't work).

A common thing I've seen in Vim is map <Leader><Space> :noh<CR>; this has the result that (assuming the default leader, backslash) \Space will stop highlighting the current match.

Solution 2

Just search for a string that is not on the page:

/poop 

Solution 3

:nohlsearch will remove highlighting from the current search. Highlighting will return on your next search.

:set nohlsearch will disable highlighting for your current vim session.

If you want to disable highlighting completely, add :set nohlsearch to your .vimrc

Share:
10,607
simont
Author by

simont

Updated on July 27, 2022

Comments

  • simont
    simont over 1 year

    I've got a file (LaTeX) which contains lines I wish to comment out.
    The regex that I use after visually-selecting the relevant block is :s/^/%/g, which works fine. However, vim then highlights every matching occurrence of the first part of the regular expression used in the replace, (highlights the first character on the beginning of every line).

    The selection changes if I do another search, or another search-and-replace, but I can't work out how to turn it off without doing a 'useless' search.

    It's particularly annoying if I search for whitespace (because having every '' highlighted in a text file is visually annoying).

    How do I de-select the matching strings after the search-and-replace has been completed?

  • Chris Morgan
    Chris Morgan over 11 years
    It might be worth while emphasising the difference between :nohlsearch and :set nohlsearch... it's easy to not quite notice.
  • Tim Pote
    Tim Pote over 11 years
    It might be worth noting that, if you decide to go with a key mapping, you might want to set your mapping to toggle highlighting (with :set hlsearch!) instead of simply disabling it.
  • Chris Morgan
    Chris Morgan over 11 years
    @TimPote: the mapping is typically done with :noh, not 'nohls'. Thus as soon as you search for something new, it'll start highlighting again.
  • jpaugh
    jpaugh about 8 years
    This does answer the question in the easiest way; but in practice, @ChrisMorgan's answer is much simpler when you're talking about tens of searches per editing session.
  • Wilson Freitas
    Wilson Freitas over 7 years
    Yes, this does answer the question. I've been using this solution for years because it is easy to remember and it works.
  • RajeshM
    RajeshM about 5 years
    This is what I do too. Just came here to see if there's something built into vim for this..