Reputation: 397
Given a file like the following:
blah
blah
collection = getCollection();
process(somethingInTheWay, target);
...after this short sequence of 'search' commands in vim...
/col<carriage return>
My cursor will be under the first appearance of "collection."
Now, what command(s) will remove the '/col' from my vim command line (in case I want to search afresh, for example)?
Upvotes: 17
Views: 26076
Reputation: 16948
There are a couple of things that play a role here. Your input ("/col"
) is displayed in the command line for some extra time after search. Usually people don't care about this. After some time, some find it even helpful. You already left "search mode" when you pressed Enter and after vim put the cursor on the first match. vim will lazily remove the search string when redrawing screen or when the space is needed. There are some ways to remove it manually, if you want to:
:redraw
Now I wrote, that you already left "search mode" with Enter, but you may continue your last search at any time with n / N. These commands will just take whatever is in the special register /
and use it for further searching. It would be possible to "disable" this behaviour by removing the last search pattern from /
:
:let @/ = ""
You could manually put something into that register which would enable you to "continue search" without ever having started any search.
If you just want to get rid of the currently highlighted matches, type:
:noh
You can turn off or toggle highlighting matches in general:
:set nohls
:set hls!
The latter is a good candidate for a key binding. I use this to toggle highlighting of the last search (mnemonic: klear - not very accurate but works for me):
:nno <C-k> :set hls!<CR>
Upvotes: 35