什么是宏

宏是一系列按键,意在被 Vim回放而没有任何延迟。宏可以存储在寄存器或变量中,绑定到键,或在命令行上执行。

这是一个简单的宏,它将第三个 word 放在一行上:

0wwgUiw

该宏可以记录到寄存器 q

qq         start recording into register q
0wwgUiw    
q          stop recording

或直接保存到注册表 q

:let @q = '0wwgUiw'

要回放:

@q

但它也可以直接在命令行中输入:

:normal 0wwgUiw

通过:normal 命令即时播放。

或者放入一个变量:

:let myvar = '0wwgUiw'

要回放:

@=myvar

或者保存为映射:

nnoremap <key> 0wwgUiw

<key> 播放。

如果要存储宏以供以后重用,可以键入插入模式:

<C-r>q

这会将宏插入寄存器 q(在此示例中为:0wwgUiw)。你可以使用此输出例如在 vimrc 中定义宏:

let @q='0wwgUiw'

每次启动 vim 时,都会使用此宏初始化寄存器 q