1 原理
"."重復(fù)前一個(gè)修改動(dòng)作。但如果你需要作一些更復(fù)雜的操作它就不行了。這時(shí),記錄命令就變得很有效。這需要三個(gè)步驟:
- “q{register}” 命令啟動(dòng)一次擊鍵記錄,結(jié)果保存到{register}指定的寄存器中。
- 輸入你的指令
- 輸入q(后面不跟任何字符)命令結(jié)束記錄。
現(xiàn)在,你可以用“@{register}”命令執(zhí)行這個(gè)宏。
2 實(shí)踐
假設(shè)你有如下文件名列表:
stdio.h
fcntl.h
unistd.h
stdlib.h
而你想把他變成這樣:
#include<stdio.h>
#include<fcntl.h>
#include<unistd.h>
#include<stdlib.h>
先移動(dòng)到第一行,接著執(zhí)行如下命令:
qa 啟動(dòng)記錄,并使用寄存器a
^ 移動(dòng)到行首
i#include< <Esc> #include< 在行首輸入 “#include<”
A><Esc> 在行尾添加 >
j0 移動(dòng)到下一行的行首
q 結(jié)束記錄
現(xiàn)在,你已經(jīng)完成了一次復(fù)雜的修改了,你可以通過(guò)重復(fù)三次"@a",完成余下的修改。"@a"命令可以使用計(jì)數(shù)前綴進(jìn)行修飾,使操作重復(fù)指定的次數(shù)。在本例中你可輸入:3@a