簡短版本的說明,列舉一些 vim 常用的按鍵
來源:https://www.maketecheasier.com/vim-keyboard-shortcuts-cheatsheet/
移動
基礎移動
| 按鍵 | 功能
| -- | --
| h
| 左移
| j
| 下移
| k
| 上移
| l
| 右移
| 0
| 移動到行首
| $
| 移動到行尾
| ^
| 移動到該行第一個非空白字元
| w
| 往後移動一個字(依據單字判斷)
| W
| 往後移動一個字(依據空白判斷)
| 5w
| 往後移動五個字(依據單字判斷)
| b
| 往前移動一個字(依據單字判斷)
| B
| 往前移動一個字(依據空白判斷)
| 5b
| 往前移動五個字(依據單字判斷)
| G
| 移動到檔案最末端
| gg
| 移動到檔案最前端
進階移動
| 按鍵 | 功能
| -- | --
| (
| 移動到前一句
| )
| 移動到下一句
| {
| 移動到前一段落
| }
| 移動到下一段落
| [[
| 移動到前一區塊
| ]]
| 移動到後一區塊
| []
| 移動到前一區塊結尾
| ][
| 移動到下一區塊結尾
書籤
| 按鍵 | 功能
| -- | --
| m {a-z A-Z}
| 標記書籤({a-z A-Z})
| :marks
| 列出所有書籤
| `{a-z A-Z}
| 移動到書籤({a-z A-Z})位置
輸入
基礎輸入
| 按鍵 | 功能
| -- | --
| a
| 在游標後進入編輯模式
| A
| 在行尾進入編輯模式
| i
| 在游標前進入編輯模式
| o
| 在游標下加入新行,進入編輯模式
| O
| 在游標上加入新行,進入編輯模式
進階輸入
| 按鍵 | 功能
| -- | --
| :r [filename]
| 在游標下輸入 filename 檔案
| :r ![command]
| 執行 command 命令後,將輸出寫入游標之後
刪除
| 按鍵 | 功能
| -- | --
| x
| 刪除游標所在位置字母
| dw
| 刪除游標所在位置單字
| d0
| 刪除游標到行首之間文字
| d$
| 刪除游標到行末之間文字
| d)
| 刪除游標到句末之間文字
| dgg
| 刪除游標到檔案開頭之間文字
| dG
| 刪除游標到檔案結尾之間文字
| dd
| 刪除游標所在整行
| 3dd
| 刪除游標所在以下三行
剪貼
| 按鍵 | 功能
| -- | --
| yy
| 複製游標所在整行
| ["x]yy
| 複製游標所在整行至紀錄 x
| p
| 在游標下方貼上整行
| P
| 在游標上方貼上整行
| ["x]p
| 在游標下方貼上紀錄 x 內容
| ["x]P
| 在游標上方貼上紀錄 x 內容
復原/重做
| 按鍵 | 功能
| -- | --
| u
| 復原
| ctrl + r
| 重做
搜尋/取代
基礎取代
| 按鍵 | 功能
| -- | --
| r{text}
| 將游標下方的文字取代成 {text}
| R
| 進去取代模式,輸入的文字會直接取代原本文字。
搜尋和取代
| 按鍵 | 功能
| -- | --
| /search_text
|
| ?search_text
|
| n
|
| N
|
| :%s/[original]/[replacement]
|
| :%s/[original]/[replacement]/g
|
| :%s/[original]/[replacement]/gc
|
選取
基礎選取
| 按鍵 | 功能
| -- | --
| v
| 進入以字母為單位的選取模式
| V
| 進入以行為單位的選取模式
| Esc
| 離開選取模式
修改選取
| 按鍵 | 功能
| -- | --
| ~
| Switch case
| d
| 刪除單字
| c
| 修改
| y
| 複製(yank)
| >
| 右移
| <
| 左移
| !
| filter through an external command
儲存與離開
| 按鍵 | 功能
| -- | --
| :q
| 檔案沒有修改時離開檔案
| :w
| 存擋
| :w filename
| 以 filename 的檔名存擋
| :wq
| 存檔後離開檔案
| :q!
| 不存檔強制離開
| ZZ
| 同 :wq
| ZQ
| 同 :q!