vim的宏操作
# 告别重复:vim 的宏操作
在开发中,我们有时会面临需要重复大量相同的操作的情况,比如下面的代码:
我们需要把所有变量名为 obj 的对象修改为 Obj 并在前面添加 _,最终变成 _Obj,但是我们不能修改为数组的 obj,而且处于谨慎起见,我们不可以同事多光标去修改;
const obj = new Object();
const obj = new Object();
const obj = new Object();
const obj = [];
const obj = new Object();
const obj = [];
const obj = new Object();
1
2
3
4
5
6
7
2
3
4
5
6
7
这时,你可能想起 . 命令,在前面我们提到过,它可以重复执行上一个命令;但是对于当前的场景,有好像无法使用 .,这时就要请出终极大杀器 ———— 宏操作(macro)了。
# 宏操作
宏(macro)即可以把一系列的操作录制成组并暂存起来,然后通过特定的指令重复去触发执行。
# 命令
q+ [字母]:开始录制,并把当前一次的录制命名为 [字母];如qa,则当前录制的宏操作名称为a,如qq,宏操作则为q;录制完后,再输入q则退出录制:req+ [字母]:查看录制好的名为 [字母] 的宏操作@+ [字母]:调用名为 [字母] 的宏操作@@:调用最后一次执行的宏操作- [数字] +
@+ [字母]:以 [数字] 次数重复执行名称为 [字母] 的宏操作 q+ [大写字母]:在对应名为 [字母] 的宏操作后追加命令
注意
在录制宏操作时,名称无论输入的是大写字母还是小写字母,最终都会暂存为小写字母,而往宏操作追加时,则使用名称字母的大写进行追加。
# 修改已暂存的宏
# 技巧
- 规范好光标的位置
- 移录光标移动时使用相对位置
编辑 (opens new window)
上次更新: 2025/04/18, 01:42:12