基本 VIM 操作指令

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

基本 VIM 操作指令

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


註:以下指令若無特別標示,皆在「 命令模式」下輸入
快速選單: 
  •             
  •  
  •  
  •  
  •  
  •  
  •  
  •   
  • 回上一頁


    § 進入輸入模式

    在命令模式下輸入以下指令,程式將會進入輸入(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 即可關閉該視窗。

    回頂端


    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值