Stay in Search Mode

3.8
(345)

You are probably already aware that you can search in Vim by typing / and entering a pattern. Typically you might search like so:

/some_pattern<CR>

Hitting <CR>, aka carriage return or “Enter”, immediately exits search mode. That means that refining the search patterns and running it again requires that you return to search mode using / followed by the up arrow to reenter the previous pattern. Then you can modify the pattern and try again. But there is a better way!

  • ctrl-g – Jumps to the next occurrence of the pattern, but keeps focus in the command line
  • ctrl-t – Jumps to the previous occurrence, but again keeps focus in your search

To use these commands, make sure you have incremental search enabled. Either run the :set incsearch command or put set incsearch in your .vimrc, which we’d highly recommend.

This allows for a search workflow that where you can see and page through the matches while modifying and refining your search pattern. Here’s a short screencast of these in action:

Stay in search mode in Vim

How useful was this tip?

Average rating 3.8 / 5. Vote count: 345

No votes so far! Be the first to rate this tip.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Written by

Colin Bartlett

105 Posts

Vim enthusiast and software developer for more than 20 years.
View all posts