使用宏的方法

Vim的宏操作,适用于大量文本的统一操作



ces
## 2-10 vim宏(macro)
### 从需求说起
批量处理文本
### 什么是vim宏(macro)
- 宏可以看成是一系列命令的集合
- 我们可以使用宏【录制】一系列操作,然后用于回放
- 宏可以方便的把一下列命令用在多行文本上
### 如何使用宏
- vim使用q来录制,同时也也是q结束录制
- 使用q{register}选择要保存的寄存器,把录制的命令保存其中
- 使用@{register}回放寄存器中保存的一系列命令
### 用宏解决刚才的问题
- 献给一行加上双引号,让后在回放到其他行
- 我们先使用q开始录制,给一行加上双引号,之后使用q退出
- 在剩下的所有行中回放录制的宏



批量回放:j→V→G→ : →normal→@a 回车,在剩下的行中回放录制的宏
normal模式 ctrl+p 使用上一条命令
批量加引号的操作2:V→G→ : →normal→I(大i)→ " 回车,行首加双引号;c-p 使用上一条命令,修改后面 I(大i)→ " 为 A→ " 回车,行尾加双引号。
批量加引号3:使用替换的方式 :% s/^\(\s*\(\S\+\)\)\+\s*$/"\1"/g
录制操作过程
q 录制 批量 处理
normal模式下按q开始录制,再按q结束录制
q{reg}
@{reg}
shift +v : normal @a
宏的使用分为录制和回放
vim使用q来录制,同时也是q来结束录制
使用q{register}选择要保存的寄存器,把录制的命令保存其中
使用@{register}回放寄存器中保存的一系列命令
V选择一行,使用G全选剩下的,然后在命令行模式下:normal 就是使用normal模式下的命令, :normal @a 就可以将剩下的全部执行记录下的宏。
宏适用于批量重复性操作
q[register] 录制宏到[register]寄存器
@[register] 回放
:normal command 执行normal模式下的command命令
: C-p 重复上次命令
: normal I"
:normal A"
每行添加双引号
qa a寄存器录制
I + " + Esc + A + "
q 结束录制
shift/^ + V 行xuan
G 到文件结尾
: normal @a
@a
macor
第二种实现方式:命令行模式使用normal命令
宏批量编辑
命令行模式下执行normal命令
如何使用宏
vim的宏
如何使用宏