Working with Vim
Recording and Playback
What other editors call macros, Vim calls recording. It is a way to record and playback a set of commands. A recording is simply saving the commands you type to a register.
Use qa
to start recording to named register a
. You will see in the bottom left corner recording @a
.
You now perform the actions you want, and when done press q
to stop recording.
Replay back the commands using @a
, this replays everything you did while recording.
Use @@
to repeat the previous replay, you can combine with a count so 3@@
will repeat previous replay 3 times, or you can use 3@a
to repeat.
Your macro just duplicates your commands, so make sure you end/start at the right spot. Basically, you want to start all macros at the start of a line, and end at the start of the next line. This helps when repeating.
Recording in Register
Since recording are saved to a register, and registers persist between Vim sessions. Your recordings persist between Vim sessions.
This allows you to see what is recorded by using the :registers
command to
view all registers. Additionally, if you copy the characters that make up a
command to a register, you can replay them.
For example, copy the text oText from Register
to a register and replay. Note:
the o
is for append after, it is the command to enter into INSERT mode.
Here's the example yanking the above text to register using "byy
, confirming
the text is there using :registers
, and then replaying using @b
. Notice, it
is left in INSERT mode after replaying.
See :help recording
for Vim help documentation.