天天看點

基本 VIM 操作指令

本文出處:http://homepage.ttu.edu.tw/u9106240/page_main/vim_menu.html#move_mouse

基本 VIM 操作指令

本頁最近更新日期:2007/8/25

註:以下指令若無特別標示,皆在「 指令模式」下輸入

快速選單: 

  •              進入輸入模式
  •   移動遊標
  •   捲動視窗
  •   複製、移動、刪除文字
  •   搜尋文字
  •   存取檔案 & 離開 VIM 程式
  •   其他指令
  • 回上一頁

    § 進入輸入模式

    在指令模式下輸入以下指令,程式將會進入輸入(insert)模式

    此時使用者便可以修改檔案檔,

    若想跳出輸入模式,則鍵入<ESC>即可回到指令模式。

    i

    在遊標左方進入輸入模式

    I

    在遊標所在行的行首進入輸入模式

    a

    在遊標右方進入輸入模式

    A

    在遊標所在行的行尾進入輸入模式

    o(小寫英文字母 o)

    在遊標下一行另起新行,並進入輸入模式

    O(大寫英文字母 o)

    在遊標上一行另起新行,並進入輸入模式

    回頂端

    § 移動遊標

    k

    向上移動遊標一個字元

    也就是方向鍵的「↑」

    j

    向下移動遊標一個字元

    也就是方向鍵的「↓」

    h

    向左移動遊標一個字元

    也就是方向鍵的「←」

    l

    向右移動遊標一個字元

    也就是方向鍵的「→」

    H

    將遊標移至螢幕頂端

    M

    將遊標移至螢幕中央

    L

    將遊標移至螢幕底端

    :數字

    將遊標移至檔案第 數字 行

    如輸入 :45,即移動至檔案第 45 行

    數字 G

    將遊標移至檔案第 數字 行

    如輸入 45G,即移動至檔案第 45 行

    gg

    將遊標移至檔案第一行

    G

    將遊標移至檔案最後一行

    b

    移動遊標至該單字的第一個字母

    若該處已是該單字第一個字母,則遊標會移至前一個單字的第一個字母

    e

    移動遊標至該單字的最後一個字母

    若該處已是該單字最後一個字母,則遊標會移至下一個單字的最後一個字母

    w

    移動遊標至下一個單字的第一個字母

    ^

    移動遊標至該行第一個非空白字母

    回頂端

    § 捲動視窗

    <ctrl>+f

    將視窗向下捲動一半

    <ctrl>+b

    將視窗向上捲動一半

    <ctrl>+d

    將視窗往下捲動一頁

    功能類似鍵盤中的<PageDown>

    <ctrl>+u

    將視窗往上捲動一頁

    功能類似鍵盤中的<PageUp>

    回頂端

    § 搜尋文字

    /字串

    向下搜尋字串

    下達此指令之後,若檔案中包含該「字串」,則檔案中所有「字串」的背景顏色會被置換成較鮮明的顏色,在下達完搜尋指令之後,還可以透過「n」和「N」指令作進一步控制。

    ◎ n 跳到下一個「字串」所在地

    ◎ N 跳到上一個「字串」所在地

    另外,把遊標停在想要搜尋的字串上,按下「*」也可以達到向下搜尋的效果。

    ?字串

    向上搜尋字串

    下達此指令之後,若檔案中包含該「字串」,則檔案中所有「字串」的背景顏色會被置換成較鮮明的顏色,在下達完搜尋指令之後,還可以透過「n」和「N」指令作進一步控制。

    ◎ n 跳到上一個「字串」所在地

    ◎ N 跳到下一個「字串」所在地

    另外,把遊標停在想要搜尋的字串上,按下「#」也可以達到向上搜尋的效果。

    回頂端

    § 複製、移動、刪除文字

    yy

    將該行文字複製

    指令 Y 有相同的功能

    p

    將所剪下或複製的文字貼上

    行數1, 行數2 co 行數3

    將 行數1 到 行數2 之間所有的字元複製至 行數3

    ※注意:行數3 必須原本就存在,否則此指令將無效!

    如: 原本的檔案:

    輸入指令:1, 3 co 3 之後,將會變成

    <BackSpace>(在輸入模式下使用)

    將遊標左邊一個文字刪除

    dd

    將該行文字刪除

    此項指令可與指令 p (貼上)配合使用

    而變成是「剪下」的功能

    dw

    刪除該單字

    cc

    將該行文字改變

    當輸入此指令時,遊標所在該行會被刪除,並自動進入「輸入模式」

    cw

    改變該單字

    當輸入此指令時,該單字在遊標之後的字元會被刪除,並自動進入「輸入模式」

    D

    將遊標所在該行中右邊的所有文字全部刪除

    <ctrl>+w(在輸入模式下)

    將遊標所在該單字中左邊的所有字元全部刪除

    行數1, 行數2 m 行數3

    將 行數1 到 行數2 之間所有的字元移動到 行數3

    ※注意:行數3 必須原本就存在,否則此指令將無效!

    如: 原本的檔案:

    輸入指令:1, 3 m 6 之後,將會變成

    行數1, 行數2 d

    將 行數1 到 行數2 之間所有的字元刪除

    如: 原本的檔案:

    輸入指令:2, 4 d 之後,將會變成

    :g/被替代的字串/s//新字串/g

    用「新字串」取代「被替代的字串」

    如: 原本的檔案:

    輸入指令:g/is/s//is not/g 之後,將會變成

    回頂端

    § 存取檔案 & 離開 VI 程式

    :q

    不儲存修改地離開 VI 程式

    若是沒有對檔案做任何修改,使用 :q 即可跳出,

    但若修改過檔案內容則必須使用 :q! 指令才能成功地不儲存離開。

    :q!

    不儲存修改地離開 VI 程式

    :w

    儲存目前所編輯的檔案

    :w 檔案名稱

    將目前所編輯的檔案另存新檔至「檔案名稱」

    :wq

    儲存目前所編輯的檔案,並離開 VI 程式

    :x

    儲存目前所編輯的檔案,並離開 VI 程式

    功能與 :wq 相同。

    回頂端

    § 其他指令

    u

    動作還原

    若不小心下錯指令,可以利用這個指令還原。 

    K

    函式查詢

    若您在 VIM 中撰寫 C/C++ 程式,可以在 C/C++ 標準函式厙提供的函式名字上按「K」,便可以呼叫出 man page 查詢該函式的用法 

    =

    自動程式縮排對齊

    若您在 VIM 中撰寫 C/C++ 程式,可以利用「gg」指令將遊標移到視窗最上方、利用「v」切換到選取模式、再用「G」將遊標移到檔案尾端 (即達到全選的功能),最後按「=」,VIM 便會幫你的程式做自動對齊 

    <ctrl>+r

    動作重做

    若不小心還原錯了,可以利用這個指令重做。 

    :set all

    顯示所有參數

    可透過此指令查詢 VIM 支援的所有參數。

    若在執行 VIM 程式期間,透過「:set 參數」的方式來設定參數,在每次開啟 VIM 程式時都必須再重新設定一次,若想要讓 VIM 在每次啟動時,都能夠自動載入使用者的設定,則可以在使用者的家目錄下,建立一個名為 「.vimrc」的檔案來存放個人 VIM 的設定。

    如:建立一個檔案「vi /home/kevin/.vimrc」,檔案內容為:

    此設定中,第一行代表設定字體顏色為適用黑色背景之顏色,第二行表示開啟自動縮排功能,第三行表示開啟顯示行號功能 

    :set nu

    顯示行數

    若想知道檔案的行數,可下達這項指令。 

    :set nonu

    隱藏行數

    若想隱藏檔案的行數,可下達這項指令。 

    :set autoindent

    自動縮排功能

    開啟此功能之後,按下 enter 鍵所產生的新行,會複製前一行最前方的 tab 和 space 數量,以達到對齊的目的。此功能可透過「:set noautoindent」關閉 

    :set tabstop=數字

    設定 tab 對齊的字元數

    一般 VIM 設定中,tabstop 的預設值為 8,但在 windows 下,許多文字編輯軟體的預設 tabstop 數為 4,若想要把 VIM 的 tab 對齊字元數變更為 4,可以在 VIM 的指令模式下,下達 「:set tabstop=4」指令

    :set background=模式

    設定 keyword 字體顏色模式

    使用「:set background=dark」指令可以讓 VIM 中的 keyword 以較亮眼的顏色表現出來,適用於暗色系的背景。 使用「:set background=light」指令可以讓 VIM 中的 keyword 以較暗沉的顏色表現出來,適用於亮色系的背景。 

    :split [檔案名稱]

    水準分割文字編輯視窗

    若有指定「檔案名稱」,則新視窗會開啟該檔案; 若沒有指定,則新視窗仍會開啟原檔案。

    另外,在編輯視窗中可以利用 <ctrl>+w 配合方向鍵跳躍選取所要編輯的視窗,

    若想要關閉視窗,則在欲關閉視窗裡的指令模式下,

    打入離開指令,如: :wq 即可關閉該視窗。

    :vsplit [檔案名稱]

    垂直分割文字編輯視窗

    若有指定「檔案名稱」,則新視窗會開啟該檔案; 若沒有指定,則新視窗仍會開啟原檔案。

    另外,在編輯視窗中可以利用 <ctrl>+w 配合方向鍵跳躍選取所要編輯的視窗,

    若想要關閉視窗,則在欲關閉視窗裡的指令模式下,

    打入離開指令,如: :wq 即可關閉該視窗。

    回頂端

    繼續閱讀