vim 宏录制

录制和回放操作序列,自动化重复编辑任务

语法

q[register] ... q / @[register]

参数

参数说明示例级别
qa 开始录制宏到寄存器 a qa 常用
q 停止录制 q 常用
@a 回放寄存器 a 的宏 @a 常用
@@ 重复上一次回放的宏 @@ 常用
10@a 回放宏 10 次 10@a 进阶

示例

录制并回放

qa → 操作序列 → q → @a
qa 开始录制,q 结束,@a 回放

批量添加引号

qa0i"Esc$a"Escjq → 99@a
给每行首尾加引号

批量格式化

qaI// Escjq → 10@a
给 10 行添加注释前缀

递归宏

qadd@aq → @a
删除所有行直到文件末尾

常见错误

宏执行到一半停了 宏遇到错误会停止,确保操作在所有目标行都有效(如用 0 回到行首而非 ^)

技巧

相关命令