天天看點

【必看】Vim Tutor

如果你需要在Linux下編輯文檔或者程式設計的話,那麼一定離不開上古神器-Vim。下面是官方文檔vimtutor的每一講的小結部分,将其轉載,供大家學習交流。

Vim 是一個具有很多指令的功能非常強大的編輯器。本教程的設計目标是講述一些必要的基本指令,而掌握好這些指令,您就能夠很容易地将 Vim 當作一個通用編輯器來使用了。

切記一點:本教程的設計思路是在使用中進行學習的。也就是說,您需要通過執行指令來學習它們本身的正确用法。如果您隻是閱讀而不操作,那麼您可能會很快遺忘這些指令的!

第一講小結

  1. 光标在螢幕文本中的移動既可以用箭頭鍵,也可以使用 hjkl 字母鍵。

         h (左移)       j (下行)       k (上行)     l (右移)

  2. 欲進入 Vim 編輯器(從指令行提示符),請輸入:vim 檔案名 <回車>

  3. 欲退出 Vim 編輯器,請輸入 <ESC>   :q!   <回車> 放棄所有改動。

                      或者輸入 <ESC>   :wq   <回車> 儲存改動。

  4. 在正常模式下删除光标所在位置的字元,請按: x

  5. 欲插入或添加文本,請輸入:

         i   輸入欲插入文本   <ESC>             在光标前插入文本

         A   輸入欲添加文本   <ESC>             在一行後添加文本

特别提示:按下 <ESC> 鍵會帶您回到正常模式或者撤消一個不想輸入或部分完整的指令。

第二講小結

  1. 欲從目前光标删除至下一個單詞,請輸入:dw

  2. 欲從目前光标删除至目前行末尾,請輸入:d$

  3. 欲删除整行,請輸入:dd

  4. 欲重複一個動作,請在它前面加上一個數字:2w

  5. 在正常模式下修改指令的格式是:

               operator   [number]   motion

     其中:

       operator - 操作符,代表要做的事情,比如 d 代表删除

       [number] - 可以附加的數字,代表動作重複的次數

       motion   - 動作,代表在所操作的文本上的移動,例如 w 代表單詞(word),

                  $ 代表行末等等。

  6. 欲移動光标到行首,請按數字0鍵:0

  7. 欲撤消以前的操作,請輸入:u (小寫的u)

     欲撤消在一行中所做的改動,請輸入:U (大寫的U)

     欲撤消以前的撤消指令,恢複以前的操作結果,請輸入:CTRL-R

第三講小結

  1. 要重新置入已經删除的文本内容,請按小寫字母 p 鍵。該操作可以将已删除的文本内容置于光标之後。如果最後一次删除的是一個整行,那麼該行将置于目前光标所在行的下一行。

  2. 要替換光标所在位置的字元,請輸入小寫的 r 和要替換掉原位置字元的新字元即可。

  3. 更改類指令允許您改變從目前光标所在位置直到動作訓示的位置中間的文本。比如輸入 ce 可以替換目前光标到單詞的末尾的内容;輸入 c$ 可以替換目前光标到行末的内容。

  4. 更改類指令的格式是:

         c   [number]   motion

第四講小結

  1. CTRL-G 用于顯示目前光标所在位置和檔案狀态資訊。

     G 用于将光标跳轉至檔案最後一行。

     先敲入一個行号然後輸入大寫 G 則是将光标移動至該行号代表的行。

     gg 用于将光标跳轉至檔案第一行。

  2. 輸入 / 然後緊随一個字元串是在目前所編輯的文檔中正向查找該字元串。

     輸入 ? 然後緊随一個字元串則是在目前所編輯的文檔中反向查找該字元串。

     完成一次查找之後按 n 鍵是重複上一次的指令,可在同一方向上查找下一個比對字元串所在;或者按大寫 N 向相反方向查找下一比對字元串所在。

     CTRL-O 帶您跳轉回較舊的位置,CTRL-I 則帶您到較新的位置。

  3. 如果光标目前位置是括号(、)、[、]、{、},按 % 會将光标移動到配對的括号上。

  4. 在一行内替換頭一個字元串 old 為新的字元串 new,請輸入  :s/old/new

     在一行内替換所有的字元串 old 為新的字元串 new,請輸入  :s/old/new/g

     在兩行内替換所有的字元串 old 為新的字元串 new,請輸入  :#,#s/old/new/g

     在檔案内替換所有的字元串 old 為新的字元串 new,請輸入  :%s/old/new/g

     進行全文替換時詢問使用者确認每個替換需添加 c 标志        :%s/old/new/gc

第五講小結

  1. :!command 用于執行一個外部指令 command。

     請看一些實際例子:

         (MS-DOS)         (Unix)

          :!dir            :!ls            -  用于顯示目前目錄的内容。

          :!del FILENAME   :!rm FILENAME   -  用于删除名為 FILENAME 的檔案。

  2. :w FILENAME  可将目前 VIM 中正在編輯的檔案儲存到名為 FILENAME 的檔案中。

  3. v motion :w FILENAME 可将目前編輯檔案中可視模式下選中的内容儲存到檔案FILENAME 中。

  4. :r FILENAME 可提取磁盤檔案 FILENAME 并将其插入到目前檔案的光标位置後面。

  5. :r !dir 可以讀取 dir 指令的輸出并将其放置到目前檔案的光标位置後面。

第六講小結

  1. 輸入小寫的 o 可以在光标下方打開新的一行并進入插入模式。

     輸入大寫的 O 可以在光标上方打開新的一行。

  2. 輸入小寫的 a 可以在光标所在位置之後插入文本。

     輸入大寫的 A 可以在光标所在行的行末之後插入文本。

  3. e 指令可以使光标移動到單詞末尾。

  4. 操作符 y 複制文本,p 粘貼先前複制的文本。

  5. 輸入大寫的 R 将進入替換模式,直至按 <ESC> 鍵回到正常模式。

  6. 輸入 :set xxx 可以設定 xxx 選項。一些有用的選項如下:

        'ic' 'ignorecase'       查找時忽略字母大小寫

        'is' 'incsearch'        查找短語時顯示部分比對

        'hls' 'hlsearch'        高亮顯示所有的比對短語

     選項名可以用完整版本,也可以用縮略版本。

  7. 在選項前加上 no 可以關閉選項:  :set noic

第七講小結

  1. 輸入 :help 或者按 <F1> 鍵或 <Help> 鍵可以打開幫助視窗。

  2. 輸入 :help cmd 可以找到關于 cmd 指令的幫助。

  3. 輸入 CTRL-W CTRL-W  可以使您在視窗之間跳轉。

  4. 輸入 :q 以關閉幫助視窗

  5. 您可以建立一個 vimrc 啟動腳本檔案用來儲存您偏好的設定。

  6. 當輸入 : 指令時,按 CTRL-D 可以檢視可能的補全結果。

     按 <TAB> 可以使用一個補全。

vim 教程到此就結束了。本教程隻是為了簡明地介紹一下 Vim 編輯器,但已足以讓您很容易使用這個編輯器了。毋庸質疑,vim還有很多很多的指令,本教程所介紹的距離完整的差得很遠。是以您要精通的話,還望繼續努力哦。下一步您可以閱讀 Vim 的使用者手冊,使用的指令是: :help user-manual。

繼續閱讀