您好,登錄后才能下訂單哦!
簡介
vim中的宏實質就是把一個vim指令集存到了寄存器中,然后在調用寄存器中的指令。
使用宏命令可以重復執行你所記錄下的命令。
命令模式下按
q+<register>+一系列命令+q
<register> 指用戶自己定義的a-z中的一個寄存器
q+<register> 開始記錄命令
q 完成記錄,退出記錄
例: qa
vim 命令
q
這個宏只記錄了vim命令到寄存器a中,執行這個宏可以用命令:
@a
也可以加上執行次數:
10@a 執行10次
當你執行過一次@a之后,你可以用@@來重復執行@a
使用宏
宏的使用分為錄制以及回放。vim使用q鍵來開始錄制,同時也是一q作為宏的結束按鍵。
使用q{register}選擇需要保持的寄存器,這個寄存器的功能就是把錄制的命令保存在其中。
使用@{register}回放寄存器內的命令集合。如想多次播放宏,可以使用數字+@{register},如10@a。
實戰
宏的介紹就這么多,現在我們來完成剛開始所說的需求吧。首先,完成批量注釋代碼的功能。這里,我們先不用宏來完成,而是使用塊選擇及命令行模式來完成該需求。對于第二個需求,我們才使用宏去完成。
下面是一段代碼:
我們選擇去將free方法給注釋掉。
首先我們來到第70行,在普通模式下按下70G來到70行。按下V進入塊選擇模式,然后移動光標選擇所有的想要注釋的行。輸入:進入命令行模式,輸入normal 0i//,然后按下enter鍵。
下面,我們再來用宏來完成另一個需求——批量縮進。
可以看到左邊空了許多空格,現在我們一起來消除這些沒用的空格吧。首先來到第一行,按下qa開始錄制宏;按下0w,來到第一個非空格字符串,按下i,然后一直退格,直到所有的空格都刪除了;然后按下q鍵結束錄制,至此,宏就已經做好了,接下來就是給剩下的行來播放宏即可。進入塊選擇模式,將剩下的行全部選擇,然后按下:normal @a。
以上就是使用VIM宏(macro)完成批量操作的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。