Reselect last visual selection


Often times I’m working with a visual selection of text and need to operate on that selection again. Most often this is because I’m working on a substitution pattern and don’t quite have it right. I’m swapping out some text and the regex is a bit off and I need to try again. Other times I might want to perform a substitution and then perhaps format the section with =.

Fortunately, Vim provides gv to reselect the last visual selection.

Consider the following file. It is not valid JSON. We’d like to format it as valid JSON, and improve the readability by indenting better.

Reselect the last visual selection

The animation shows the following steps:

  1. Visual selection: shift-v %
  2. Substitution: s/\(.*\):/"\1":/g
  3. Reselect last visual selection: gv
  4. Format selection: =

Does anyone have a good mnemonic for gv? Something to help me internalize this? Maybe “a G ain V isual” but that’s a bit of a stretch. Let us know in the comments.

How useful was this tip?

Average rating 3.2 / 5. Vote count: 1402

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