计算机科学里的宏(Macro),是一种批量批处理的称谓。一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。这种替换在预编译时进行,称作宏展开。
在vim中,也有宏功能,低调而强大,今天给大家详细介绍一下。
宏定义使用非常简单,一共以下几个步骤即可完成宏定义:
1. 在命令模式下,按下键盘q,开启宏模式。
2. 再次按下任意一个你想定义的按键,该键被宏定义。
3. 录制你想要操作了一系列指令。
4. 再次回到命令模式下,再次按下q,结束录制。
5. 以后每次在命令模式下,按下@符号,再按下之前设置的宏定义按键,即可自动完成所有宏操作。
这里以字母h为例,我想对h进行宏定义,对每行内容进行php的var_dump输出,那么具体操作如下。
1. 将光标移到某一行开头,并按下q,开启宏定义,切记不要双击q,不然就变成了对q的宏定义了。
2. 按下h,对h进行宏定义,此时左下角会显示recording提示。
3. 在recording下,所有按键都会被记录到宏定义中。按下i,进入插入模式。
4. 输入字符串var_dump("。
5. 按下esc,回到命令模式,按下$符号,将光标移动到行尾。
6. 按下a,进入插入模式,输入字符串");,按下esc,所有操作完成,并回到命令模式。
7. 再次按下q,完成宏定义录入。
8. 选中下一行内容,按下@,再按下h,神奇一幕出现,自动完成了var_dump函数的编写。
1. 打开一个空文件,即将展示一个自动写入序列
2. 进入插入模式,按下数字1
1
3. 开启recording模式,并使用字符a进行宏定义
esc --> q --> a
4. copy当前行,并复制到下一行
yy copy当前行
p 复制到下一行
1
1
5. 将复制的那行数字自增加一
光标下移
Control + a,数字增加1
1
2
6. 退出recording
按q键
7. 神奇的增长
在当前行,按下 98@a
屏幕如下,是不是很棒,正好100行:
至此,你已经学会了vim的recording功能,在学习工作中去使用吧!
1 Pingback