在上一篇中提到过,命令【.】可以重复执行上一个命令,但是对于更复杂的情况,这个命令就有些力不从心了。对于复杂的情况,正是keyboard macros大显身手的时候。
命令【qcharacter】代表宏的记录的开始,character是a到z字母中任意一个即可,然后进行一系列的操作,如果要结束宏的记录,点击命令【q】即可,结束宏的记录后,如果想重复执行上面的一系列复杂的操作,执行命令【@character】即可,character即上面 命令【qcharacter】里的character。如果想同时执行多次,可在命令【@character】前加上相应的数字即可。
举个例子说明下,
如果有个文件,有如下四行,可能还有更多,
stdio.h
fcntl.h
unistd.h
stdlib.h
你现在想做的是把这四行变成下面这个样子:
#include "stdio.h"
#include "fcntl.h"
#include "unistd.h"
#include "stdlib.h"
可以这样做,过程如下:
1.光标移动到stdio.h这一行
2.执行命令【qa】即开始记录一个宏命名为a
3.执行命令【^】使光标移动到此行的开头
4.执行命令【i】使你进入插入模式,输入字符串#include "在这行的开头,按键Esc退出插入模式,进入命令行模式。
5.执行命令【A】使光标移动到本行最后,并进入插入模式,输入字符",按键Esc退出插入模式
6.执行命令【j】跳到下一行,执行命令【q】结束宏的
7.执行命令【@a】第二行就会执行3~5步,完成相同的操作。然后还剩两行没有改变,可以执行命令【2@a】使下两行完成相同的操作。