【Other】Vim 基本指令
Vim 總共有四種模式,分別是 Normal Mode、Insert Mode、Visual Mode 及 Command Mode。
如果在 VS Code 中要使用 Vim 的話,可以安裝 Vim 擴充套件。
Normal Mode(普通/一般模式)
在 Vim 中,當你打開一個檔案時,你會進入 Normal Mode,這個 Normal Mode 跟平常打字的模式不太一樣,你無法直接輸入文字,而是可以透過一些指令來操作檔案,可以把 Normal Mode 當作是一個中繼站,你可以透過 Normal Mode 來切換到其他模式,像是切換到 Insert Mode 來輸入文字,切換到 Visual Mode 來選取文字,或是切換到 Command Mode 來執行一些指令。
以下列出我常用的一些指令:
進入 Insert Mode
i
: 在游標前插入I
: 在游標行首插入a
: 在游標後插入A
: 在游標行尾插入o
: 在游標下插入新行O
: 在游標上插入新行cc
: 剪下當前行並進入插入模式cw
: 剪下當前單字(不包含游標前面)並進入插入模式ciw
: 剪下當前單字(包含游標前面)並進入插入模式
取代文字
r
: 取代當前游標所在的字元R
: 取代當前游標所在的字元及其後的字元(直到退出 normal mode)
移動游標
h
: 左移j
: 下移k
: 上移l
: 右移w
: 移動到下一個單字的開頭b
: 移動到上一個單字的開頭e
: 移動到當前單字的結尾0
: 移動到當前行的行首$
: 移動到當前行的行尾gg
: 移動到檔案的第一行G
: 移動到檔案的最後一行- n +
G
/:
+ n : 移動到檔案的第 n 行 - n +
Enter
: 向下移動 n 行 - n +
Space
: 向右移動 n 個字元 Crtl
+f
: 向下移動一頁Crtl
+b
: 向上移動一頁Crtl
+d
: 向下移動半頁Crtl
+u
: 向上移動半頁
複製、剪下、貼上
y
: 複製選取的文字yy
: 複製當前行p
: 貼上d
: 剪下選取的文字dd
: 剪下當前行- n +
dd
: 剪下 n 行 dw
: 剪下當前單字(不包含游標前面)diw
: 剪下當前單字(包含游標前面)x
: 剪下當前游標所在的字元u
: 復原上一步操作
搜尋、取代
/
+ keyword +Enter
: 向下搜尋關鍵字n
: 跳到下一個關鍵字N
: 跳到上一個關鍵字
回到 Normal Mode
Esc
/Crtl
+[
: 回到 Normal Mode
如果覺得這兩個指令都不太好按,在 VS Code 的 Vim 擴充套件中,可以透過設定 vim.insertModeKeyBindings
來自定義快捷鍵,例如:
{
"vim.insertModeKeyBindings": [
{
"before": ["j", "j"],
"after": ["<Esc>"]
}
]
}
就可以透過連續按兩次 j
來回到 Normal Mode。
其他
zz
: 將當前行置中zt
: 將當前行置頂zb
: 將當前行置底.
: 重複上一步操作
Visual Mode(視覺模式)
在 Normal Mode 中,按下 v
可以進入 Visual Mode,這個模式可以用來選取文字,選取文字後可以使用 Normal Mode 的複製、剪下、貼上等指令。
選取文字
v
: 進入 Visual Mode 選取文字V
: 進入 Visual Line Mode 選取整行文字Ctrl
+v
: 進入 Visual Block Mode 選取區塊文字