close

vi 與 vim 的指令整理

vi 是 unix 家族下最功能強大的文字編輯器,讓用戶只要使用一個鍵盤就可以完成所有的編輯。而 vim 則是 vi 的加強版,甚至在 Windows 上也找得到 vim 的芳蹤。但 vi/vim 眾多的指令卻經常令初學者卻步,以下就是我所整理出來那些令人卻步的指令:

編輯模式

    指令 說明
    * i 在游標位置進入編輯模式
    I 在游標行的第一個非空白字元進入編輯模式
    * a 在游標位置後進入編輯模式
    * A 在游標行的最後一個字元進入編輯模式
    * o 向下新增一行,並進入編輯模式
    O 向上新增一行,並進入編輯模式
    cc 刪除游標行,並進入編輯模式
    * [ESC] 取消指令或退出編輯模式

游標移動

    指令 說明
    * gg 移到第一行
    * G 移到最後一行
    * 行數 → G 移動到第 n 行
    0 移動到該行最前面
    $ 移動到該行最後面
    字數 → [Space] 向右移動 n 個字元
    * 行數 → [Enter] 向下移動 n 行

標記與複製

    指令 說明
    * v 開始字串標記
    * V 開始行標記
    * v → [Ctrl]-V 開始區塊標記
    * d 刪除標記的內容
    * y 複製標記的內容
    * yy 複製游標行
    yG 複製游標行到最後一行
    y1G 複製游標行到第一行
    y$ 複製游標處到最後一個字元
    y0 複製游標處到第一個字元
    * p 在下一行貼上複製或刪除的內容
    P 在上一行貼上複製或刪除的內容
    * [Ctrl]-R → 0 在下一行貼上複製或刪除的內容,適用於編輯模式及指令行

搜尋與取代

    指令 說明
    * /搜尋字串 向下搜尋字串
    * * 將游標移到字串上,直接按 “*” 也可以做向下搜尋
    ?搜尋字串 向上搜尋字串
    * :set ic 搜尋時不分大小寫
    * :set noic 搜尋時要分大小寫
    * n 繼續下一個搜尋結果
    * N 繼續上一個搜尋結果
    * :起始行,終止行s/搜尋字串/取代字串/gic 從第 n 行到第 n 行取代字串 (後面的 g: 整行全部, i: 不分大小寫,

     

    c: 詢問)

    * :1,$s/搜尋字串/取代字串/gic 全部取代字串 (後面的 g: 整行全部, i: 不分大小寫,
    c: 詢問)

刪除

    指令 說明
    * dd 刪除游標行
    * dG 刪除游標行到最後一行
    d1G 刪除游標行到第一行
    * d$ 刪除游標處到最後一個字元
    d0 刪除游標處到第一個字元

檔案功能

    指令 說明
    * :w 存檔 (加 ! 表示強制存檔)
    * :w 檔案名稱 另存新檔
    * :wq 存檔並退出 vi
    :e 檔案名稱 編輯其它檔案
    * :e! 還原至檔案編修前的狀態
    :r 檔案名稱 讀入檔案內容,並加到游標行的後面
    * :n 切換到下一個開啟的檔案
    * :N 切換到上一個開啟的檔案
    * :set nu 顯示行號
    * :set nonu 取消行號顯示
    * :files 列出所有開啟的檔案

視窗分割

    指令 說明
    * :new 新增水平視窗
    * :new 檔案名稱 新增水平視窗,並在新增的視窗載入檔案
    * :vnew 新增垂直視窗
    * :vnew 檔案名稱 新增垂直視窗,並在新增的視窗載入檔案
    * [Ctrl]-W → [方向鍵] 切換視窗
    * :only 僅保留目前的視窗

其它

    * 指令 說明
    * J 將游標行與下一行合併
    * u 還原指令
    * [Ctrl]-R 重做指令
    * . 重覆上一個指令
    ! 命令 執行 linux 指令,並顯示執行結果
    * :q 退出 vi (加 ! 表示強制退出)

vim 的設定檔

通常我會編輯 /etc/vimrc,在檔案最後加入:

    " 顯示列號
        set number
        " 語法高亮度顯示
        syntax on
        " 標記搜尋到的字串
        set hlsearch
        " 自動縮排
        set autoindent
        " 顯示說明
        set ruler
        " 顯示編輯狀態
        set showmode
        " 設定註解的顏色
        highlight Comment ctermfg=cyan
        " 設定搜尋到的字串顏色
        highlight Search term=reverse ctermbg=4 ctermfg=7
        " 設定 tab 鍵的字元數
        set tabstop=4
    圖解的說明
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 hillhuang 的頭像
    hillhuang

    hillhuang

    hillhuang 發表在 痞客邦 留言(0) 人氣()