新聞中心

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

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

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

        2、聰明的進入插入模式

        本文引用地址:http://www.104case.com/article/149084.htm

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          C:和 D 類似,最后進入插入模式。

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

          s:和x類似,不過最后進入插入模式。

          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 里面直到你又拷貝了一些東西進入寄存器 k。現(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)閉
        主站蜘蛛池模板: 民勤县| 盐源县| 宿松县| 泸州市| 四川省| 芷江| 兴宁市| 陵水| 武清区| 无锡市| 进贤县| 密山市| 东安县| 乐安县| 襄樊市| 繁昌县| 宝山区| 永济市| 奎屯市| 忻城县| 平原县| 巴彦淖尔市| 逊克县| 麦盖提县| 德格县| 广丰县| 镇巴县| 上高县| 疏勒县| 通州市| 四会市| 蓝田县| 柏乡县| 武义县| 江门市| 澄迈县| 资阳市| 香格里拉县| 灌阳县| 陆河县| 潍坊市|