新聞中心

VIM編輯器學(xué)習(xí)

作者: 時(shí)間:2010-08-19 來(lái)源:網(wǎng)絡(luò) 收藏

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

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

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

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

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

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

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

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

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

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

  3、有效的移動(dòng)大段的文本

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  y{motion}:和上面類(lèi)似,不過(guò)是拷貝。

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

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

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

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

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

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

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

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

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

  5、粘貼

  粘貼很簡(jiǎn)單,按 p。

  6、使用多重剪貼板

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

  使用寄存器的命令為雙引號(hào) “。

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

  7、避免重復(fù)

  令人驚奇的 . 命令

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

  8、使用數(shù)字

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

  3j 將會(huì)把光標(biāo)向下移動(dòng)三行。

  10dd 將會(huì)刪除十行。

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

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


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 學(xué)習(xí) 編輯器 VIM

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉