新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > VIM編輯器學(xué)習(xí)方法介紹

VIM編輯器學(xué)習(xí)方法介紹

作者: 時間:2012-05-12 來源:網(wǎng)絡(luò) 收藏

2、聰明的進(jìn)入插入模式

本文引用地址:http://butianyuan.cn/article/149084.htm

  很多新手進(jìn)入插入模式都只是用 i。這樣當(dāng)然可以進(jìn)入插入模式,但通常不是那么合適,因為 提供了很多進(jìn)入插入模式的命令。下面是最常用的一些:

  i:在當(dāng)前字符的左邊插入

  I:在當(dāng)前行首插入

  a:在當(dāng)前字符的右邊插入

  A:在當(dāng)前行尾插入

  o:在當(dāng)前行下面插入一個新行

  O:在當(dāng)前行上面插入一個新行

  c{motion}:刪除 motion 命令跨過的字符,并且進(jìn)入插入模式。比如:c$,這將會刪除從光標(biāo)位置到行尾的字符并且進(jìn)入插入模式。ct!,這會刪除從光標(biāo)位置到下一個嘆號(但不包括),然后進(jìn)入插入模式。被刪除的字符被存在了剪貼板里面,并且可以再粘貼出來。

  d{motion}:和上面差不多,但是不進(jìn)入插入模式。

  3、有效的移動大段的文本

  使用可視選擇(visual selections)和合適的選擇模式

  不像最初的 VI, 允許你高亮(選擇)一些文本,并且進(jìn)行操作。這里有三種可視選擇模式:

  v:按字符選擇。經(jīng)常使用的模式,所以親自嘗試一下它。

  V:按行選擇。這在你想拷貝或者移動很多行的文本的時候特別有用。

  :按塊選擇。非常強大,只在很少的中才有這樣的功能。你可以選擇一個矩形塊,并且在這個矩形里面的文本會被高亮。

  在選擇模式的時候使用上面所述的方向鍵和命令(motion)。比如,vwww,會高亮光標(biāo)前面的三個詞。Vjj 將會高亮當(dāng)前行以及下面兩行。

  4、在可視選擇模式下剪切和拷貝

  一旦你高亮了選區(qū),你或許想進(jìn)行一些操作:

  d:剪貼選擇的內(nèi)容到剪貼板。

  y:拷貝選擇的內(nèi)容到剪貼板。

  c:剪貼選擇的內(nèi)容到剪貼板并且進(jìn)入插入模式。

  在非可視選擇模式下剪切和拷貝

  如果你很清楚的知道你想拷貝或者剪切什么,那你根本就不需要進(jìn)入可視選擇模式。這樣也會節(jié)省時間:

  d{motion}:剪切 motion 命令跨過的字符到剪貼板。比如,dw 會剪切一個詞而 dfS 會將從當(dāng)前光標(biāo)到下一個 S 之間的字符剪切至剪貼板。

  y{motion}:和上面類似,不過是拷貝。

  c{motion}:和 d{motion} 類似,不過最后進(jìn)入插入模式。

  dd:剪切當(dāng)前行。

  yy:拷貝當(dāng)前行。

  cc:剪切當(dāng)前行并且進(jìn)入插入模式。

  D:剪切從光標(biāo)位置到行尾到剪貼板。

  Y:拷貝當(dāng)前行。

  C:和 D 類似,最后進(jìn)入插入模式。

  x:剪切當(dāng)前字符到剪貼板。

  s:和x類似,不過最后進(jìn)入插入模式。

  5、粘貼

  粘貼很簡單,按 p。

  6、使用多重剪貼板

  很多都只提供了一個剪貼板。 有很多。剪貼板在 VIM 里面被稱為寄存器(Registers)。你可以列出當(dāng)前定義的所有寄存器名和它們的內(nèi)容,命令為“:reg”。最好使用小寫字母來作為寄存器的名稱,因為大寫的有些被 VIM 占用了。

  使用寄存器的命令為雙引號 “。

  比如:我們要拷貝當(dāng)前行到寄存器 k。你應(yīng)該按 “kyy。(你也可以使用 V”ky。為什么這樣也可以呢?)現(xiàn)在當(dāng)前行應(yīng)該已經(jīng)存在了寄存器 k 里面直到你又拷貝了一些東西進(jìn)入寄存器 k?,F(xiàn)在你可以使用命令 “kp 來粘貼寄存器 k 里面的內(nèi)容到你想要的位置。

  7、避免重復(fù)

  令人驚奇的 . 命令

  在 VI 里面,輸入 . (小數(shù)點符號),將會重復(fù)你輸入的上一個命令。比如,你上個命令為“dw”(刪除一個詞),VI 將會接著再刪除一個詞。

  8、使用數(shù)字

  使用數(shù)字也是 VIM 強大的而且很節(jié)省時間的重要特性之一。在很多 VIM 的命令之前都可以使用一個數(shù)字,這個數(shù)字將會告訴 VIM 這個命令需要執(zhí)行幾次。比如:

  3j 將會把光標(biāo)向下移動三行。

  10dd 將會刪除十行。

  y3″ 將會拷貝從當(dāng)前光標(biāo)到第三個出現(xiàn)的引號之間的內(nèi)容到剪貼板。

  數(shù)字是擴展 motion 命令作用域非常有效的方法。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉