|
vi的寫code改code實在有它特有的魅力,我這邊轉載整理了vi / vim的指令,這樣就不用再去設快捷鍵(像Mac Terminal的"/033[5~"),用原汁原味的指令實在不錯!!!
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 | 在下一行貼上複製或刪除的內容,適用於編輯模式及指令行 |
搜尋與取代
指令 | 說明 | /搜尋字串 | 向下搜尋字串 | /\c搜尋字串 | 向下搜尋字串,不分大小寫 | 將游標移到字串上,直接按 "*" 也可以做向下搜尋 | ?搜尋字串 | 向上搜尋字串 | ?\c搜尋字串 | 向上搜尋字串,不分大小寫 | :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 (加 ! 表示強制退出)
|
原文:vi 與 vim 的指令整理 |
|