What's the vim way to select multiple instances of current word and change them?
I use the *
, gn
, and the .
to make changes.
- Select current word with
*
(go back withN
) - Change word with
gn
motion. e.g.cgnfoo<esc>
- Repeat via
.
command
Note: If you have many changes then using a substitution command would probably be better.
There is a nice Vimcasts episode about the gn
motion: Operating on search matches using gn.
For more help see:
:h *
:h gn
:h .
You can record macros in Vim by pressing q<letter>
. Macros can include the n
command to search for the next instance of a word. You can also go into insert mode while recording (e.g. using the c
command with a motion such as iw
to replace the current word). Press q
to stop recording, and then press @<letter>
to replay the macro once. After that, you can use @@
to repeat the macro as many times as you like.