使用VIM宏(macro)完成批量操作

先看以下兩個場景,批量注釋多行代碼及縮進(jìn)多行代碼。這兩個場景是我們?nèi)粘i_發(fā)中經(jīng)常遇到的。如果是使用ide的話,批量注釋多行代碼只要選定這些行后,然后使用ctrl+/即可。縮進(jìn)的話,也是選定行然后按tab鍵就行了。但是,如果是使用vim編輯器的話,這些操作就不是這么來完成的了。今天,和大家介紹下vim下強(qiáng)大的工具——宏。使用他,可以完成許多意想不到的功能哦!

從字面上很難理解宏的意思,其實(shí)你就理解成批處理就行了,把宏看成許多命令的集合。然后這些命令集合可以多次執(zhí)行。

使用宏

宏的使用分為錄制以及回放。vim使用q鍵來開始錄制,同時也是一q作為宏的結(jié)束按鍵。

使用q{register}選擇需要保持的寄存器,這個寄存器的功能就是把錄制的命令保存在其中。

使用@{register}回放寄存器內(nèi)的命令集合。如想多次播放宏,可以使用數(shù)字+@{register},如10@a。

實(shí)戰(zhàn)

宏的介紹就這么多,現(xiàn)在我們來完成剛開始所說的需求吧。首先,完成批量注釋代碼的功能。這里,我們先不用宏來完成,而是使用塊選擇及命令行模式來完成該需求。對于第二個需求,我們才使用宏去完成。

下面是一段代碼:

使用VIM宏(macro)完成批量操作

我們選擇去將free方法給注釋掉。

首先我們來到第70行,在普通模式下按下70G來到70行。按下V進(jìn)入塊選擇模式,然后移動光標(biāo)選擇所有的想要注釋的行。輸入:進(jìn)入命令行模式,輸入normal 0i//,然后按下enter鍵。

使用VIM宏(macro)完成批量操作

下面,我們再來用宏來完成另一個需求——批量縮進(jìn)。

使用VIM宏(macro)完成批量操作

可以看到左邊空了許多空格,現(xiàn)在我們一起來消除這些沒用的空格吧。首先來到第一行,按下qa開始錄制宏;按下0w,來到第一個非空格字符串,按下i,然后一直退格,直到所有的空格都刪除了;然后按下q鍵結(jié)束錄制,至此,宏就已經(jīng)做好了,接下來就是給剩下的行來播放宏即可。進(jìn)入塊選擇模式,將剩下的行全部選擇,然后按下:normal @a。

使用VIM宏(macro)完成批量操作

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享