先看以下兩個場景,批次註解多行程式碼及縮排多行程式碼。這兩個場景是我們日常開發中經常遇到的。如果是使用IDE的話,批次註解多行程式碼只要選定這些行後,然後使用ctrl /即可。縮排的話,也是選定行然後按tab鍵就行了。但是,如果是使用vim編輯器的話,這些操作就不是這麼來完成的了。今天,跟大家介紹下vim下強大的工具-宏。使用他,可以完成許多意想不到的功能哦!
從字面上很難理解巨集的意思,其實你就理解成批次就行了,把巨集看成許多指令的集合。然後這些命令集合可以多次執行。
使用巨集
巨集的使用分為錄製以及回放。 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)完成批次操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!