vim keyboard macros

来源:互联网 发布:shell执行sql脚本 编辑:程序博客网 时间:2024/05/20 09:45

在上一篇中提到过,命令【.】可以重复执行上一个命令,但是对于更复杂的情况,这个命令就有些力不从心了。对于复杂的情况,正是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】使下两行完成相同的操作。

0 0