[問題]vim如何作到ultraedit的自動插入數字列號
input int[0]
input int[1]
input int[2]
input int[3]
如上面的sample code
在ultraedit裡面, 可以用 "區塊-->插入數字列號" 來自動插入一整排的等差數列
如上面的 0 -3, 請問在vim裡面要如何辨到? 謝謝
換句話說就是只輸入上列第一行,如何快速產生下面幾行。這個問題其實google一下應該能找到相關討論,我是從這[抄]來的,當然也不完全是抄啦 ^^"
要達到這個功能方法有2:
- 使用巨集
- 使用VIM built-in function
qa
yy
p
Ctrl-a
q
上面第一個命令表開始錄製巨集a;第二,複製游標所在列;第三,貼上;第四,將游標所在處的數字加1;第五,結束巨集。其中若要改成數字減一則在第四個命令改成Ctrl-x,另外,因為在windows中Ctrl-a對應到全選,所以對於windows的vim使用者必需先下:nunmap <C-A>將全選的功能取消。
在錄製好巨集後,接著再輸入15@a便會重覆執行巨集a,15次。以上是第一個方法。
第二種方法為使用內建函式。先從一簡單的例子來看,以下命令:
:0put =range(11,15)
將輸出
11
12
13
14
15
以此類推,若要CyberFret的要求則輸入以下命令即可。
:for i in range(0,3) | put ='input int['.i.']' | endfor
No comments:
Post a Comment