天天看點

Vim編輯器的使用

在uinx和linxu中有一個終端文本編輯器,她是一個很強大的所在。她的名字就叫做vim。關于她的使用方法,一起來看看吧!

vim指令總結

1.删除字元

  要删除一個字元,隻需要将光标移到該字元上按下"x"。

2.删除一行

  删除一整行内容使用"dd"指令。删除後下面的行會移上來填補空缺。

3.删除換行符

  在vim中你可以把兩行合并為一行,也就是說兩行之間的換行符被删除了:指令是"j"。

4.撤銷

  如果你誤删了過多的内容。顯然你可以再輸入一遍,但是指令"u" 更簡便,它可以撤消上一次的操作。

5.重做

  如果你撤消了多次,你還可以用ctrl-r(重做)來反轉撤消的動作。換句話說,它是對撤消的撤消。撤消指令還有另一種形式,"u"指令,它一次撤消對一行的全部操作。第二次使用該指令則會撤消前一個"u"的操作。用"u"和ctrl-r你可以找回任何一個操作狀态。

6.追加

  "i"指令可以在目前光标之前插入文本。

  "a"指令可以在目前光标之後插入文本。

  "o"指令可以在目前行的下面另起一行,并使目前模式轉為insert模式。

  "o"指令(注意是大寫的字母o)将在目前行的上面另起一行。

7.使用指令計數

  假設你要向上移動9行。這可以用"kkkkkkkkk"或"9k"來完成。事實上,很多指令都可以接受一個數字作為重複執行同一指令的次數。比如剛才的例子,要在行尾追加三個感歎号,當時用的指令是"a!!!"。另一個辦法是用"3a!"指令。3說明該指令将被重複執行3次。同樣,删除3個字元可以用"3x"。指定的數字要緊挨在它所要修飾的指令前面。

8.退出

  要退出vim,用指令"zz"。該指令儲存目前檔案并退出vim。

9.放棄編輯

  丢棄所有的修改并退出,用指令":q!"。用":e!"指令放棄所有修改并重新載入該檔案的原始内容。

10.以word為機關的移動

  使用"w"指令可以将光标向前移動一個word的首字元上;比如"3w"将光标向前移動3個words。"b"指令則将光标向後移動到前一個word的首字元上。

  "e"指令會将光标移動到下一個word的最後一個字元。指令"ge",它将光标移動到前一個word的最後一個字元上。、

11.移動到行首或行尾

  "$"指令将光标移動到目前行行尾。如果你的鍵盤上有一個鍵,它的作用也一樣。"^"指令将光标移動到目前行的第一個非空白字元上。"0"指令則總是把光标移動到目前行的第一個字元上。鍵也是如此。"$"指令還可接受一個計數,如"1$"會将光标移動到目前行行尾,"2$"則會移動到下一行的行尾,如此類推。"0"指令卻不能接受類似這樣的計數,指令"^"前加上一個計數也沒有任何效果。

12.移動到指定字元上

  指令"fx"在目前行上查找下一個字元x(向右方向),可以帶一個指令計數"f"指令向左方向搜尋。"tx"指令形同"fx"指令,隻不過它不是把光标停留在被搜尋字元上,而是在它之前的一個字元上。提示:"t"意為"to"。該指令的反方向版是"tx"。這4個指令都可以用";"來重複。以","也是重複同樣的指令,但是方向與原指令的方向相反。

13.以比對一個括号為目的移動

  用指令"%"跳轉到與目前光标下的括号相比對的那一個括号上去。如果目前光标在"("上,它就向前跳轉到與它比對的")"上,如果目前在")"上,它就向後自動跳轉到比對的"("上去.

14.移動到指定行

  用"g"指令指定一個指令計數,這個指令就會把光标定位到由指令計數指定的行上。比如"33g"就會把光标置于第33行上。沒有指定指令計數作為參數的話, "g"會把光标定位到最後一行上。"gg"指令是跳轉到第一行的快捷的方法。

  另一個移動到某行的方法是在指令"%"之前指定一個指令計數比如"50%"将會把光标定位在檔案的中間. "90%"跳到接近檔案尾的地方。

  指令"h","m","l",分别将光标跳轉到第一行,中間行,結尾行部分。

15.告訴你目前的位置

  使用ctrl-g指令。"set number"在每行的前面顯示一個行号。相反關閉行号用指令":set nonumber"。":set ruler"在vim視窗的右下角顯示目前光标位置。

16.滾屏

  ctrl-u顯示文本的視窗向上滾動了半屏。ctrl-d指令将視窗向下移動半屏。一次滾動一行可以使用ctrl-e(向上滾動)和ctrl-y(向下滾動)。要向前滾動一整屏使用指令ctrl-f。另外ctrl-b是它的反向版。"zz"指令會把目前行置為螢幕正中央,"zt"指令會把目前行置于螢幕頂端,"zb"則把目前行置于螢幕底端.

17.簡單搜尋

  "/string"指令可用于搜尋一個字元串。要查找上次查找的字元串的下一個位置,使用"n"指令。如果你知道你要找的确切位置是目标字元串的第幾次出現,還可以在"n"之前放置一個指令計數。"3n"會去查找目标字元串的第3次出現。

  "?"指令與"/"的工作相同,隻是搜尋方向相反."n"指令會重複前一次查找,但是與最初用"/"或"?"指定的搜尋方向相反。

  如果查找内容忽略大小寫,則用指令"set ignorecase", 傳回精确比對用指令"set noignorecase" 。

18.在文本中查找下一個word

  把光标定位于這個word上然後按下"*"鍵。vim将會取目前光标所在的word并将它作用目标字元串進行搜尋。"#"指令是"*"的反向版。還可以在這兩個指令前加一個指令計數:"3*"查找目前光标下的word的第三次出現。

19.查找整個word

  如果你用"/the"來查找vim也會比對到"there"。要查找作為獨立單詞的"the"使用如下指令:"/the\>"。"\>"是一個特殊的記法,它隻比對一個word的結束處。近似地,"\<"比對到一個word的開始處。這樣查找作為一個word的"the"就可以用:"/\"。

20.高亮顯示搜尋結果

  開啟這一功能用":set hlsearch",關閉這一功能:":set nohlsearch"。如果隻是想去掉目前的高亮顯示,可以使用下面的指令:":nohlsearch"(可以簡寫為noh)。

21.比對一行的開頭與結尾

   ^ 字元比對一行的開頭。$字元比對一行的末尾。

   是以"/was$"隻比對位于一行末尾的單詞was,是以"/^was"隻比對位于一行開始的單詞was。

22.比對任何的單字元

  .這個字元可以比對到任何字元。比如"c.m"可以比對任何前一個字元是c,後一個字元是m的情況,不管中間的字元是什麼。

23.比對特殊字元

  放一個反斜杠在特殊字元前面。如果你查找"ter。",用指令"/ter\。"

24.使用标記

  當你用"g"指令從一個地方跳轉到另一個地方時,vim會記得你起跳的位置。這個位置在vim中是一個标記。使用指令" `` "可以使你跳回到剛才的出發點。

  ``指令可以在兩點之間來回跳轉。ctrl-o指令是跳轉到你更早些時間停置光标的位置(提示:o意為older). ctrl-i則是跳回到後來停置光标的更新的位置(提示:i在鍵盤上位于o前面)。

    注:使用ctrl-i 與按下鍵一樣。

25.具名标記

   指令"ma"将目前光标下的位置名之為标記"a"。從a到z一共可以使用26個自定義的标記。要跳轉到一個你定義過的标記,使用指令" `marks "marks就是定義的标記的名字。指令" 'a "使你跳轉到a所在行的行首," `a "會精确定位a所在的位置。指令:":marks"用來檢視标記的清單。

  指令delm!删除所有标記。

26.操作符指令和位移

  "dw"指令可以删除一個word,"d4w"指令是删除4個word,依此類推。類似有"d2e"、"d$"。此類指令有一個固定的模式:操作符指令+位移指令。首先鍵入一個操作符指令。比如"d"是一個删除操作符。接下來是一個位移命。比如"w"。這樣任何移動光标指令所及之處,都是指令的作用範圍。

27.改變文本

  操作符指令是"c",改變指令。它的行為與"d"指令類似,不過在指令執行後會進入insert模式。比如"cw"改變一個word。或者,更準确地說,它删除一個word并讓你置身于insert模式。

  "cc"指令可以改變整行。不過仍保持原來的縮進。

  "c$"改變目前光标到行尾的内容。

  快捷指令:x 代表dl(删除目前光标下的字元