Shortcut

移動

游標移動 h j k l 對應 ← ↓ ↑ →

  • 因為雙手在鍵盤上的固定位置,j 是在右手食指上,且程式碼照理說是往下寫,因此 j 很自然是往下鍵
  • 可以搭配數字使用,例如輸入 5j,代表往下移動五行
  • 斜向的移動,IDE 建議可以使用 AceJump 這個套件來進行移動,vim 上面可以使用 Easymotion
  • 建議開啟 vim 的 set relative number 功能,這樣就可以很方便的使用數字鍵進行移動
set relativenumber

也可以簡寫成 set rnu

wW : 根據字串在行上往後移動,會移動到字串的首字元

  • w 會視特殊字元斷句 (除了 _)
  • W 只認空白字元為斷句

eE : 根據字串在行上往後移動,會移動到字串的尾字元

bB : 根據字串在行上往前移動,會移動到字串的首字元

^ : 移動到該行的第一個字元 (不包含空白),0 的功能類似,但是是移動到行首 (包含空白)

$ : 移動到行尾

+ : 移動到下一行的行頭,等同於 j^

- : 移動到上一行的行頭,等同於 k^

% : 移動到成對符號 (例如 : {}())

ggG : 移至該檔案的第一行與移至檔案的最後一行

{} : 移動至下一個段落

H : 移動至視窗的最上方

L : 移動至視窗的最下方

M : 移動至視窗的正中間

搜尋

fF : 在該行上搜尋字元並跳過去,一樣可以搭配數字使用

  • f : 在行上往後找
  • F : 在行上往前找

tT : 在剛行上搜尋字元並跳到該字元的前一個字元

  • t : 在行上往後找
  • T : 在行上往前找

; : 重複剛剛的搜尋動作

, : 返回剛剛使用 ; 前的位置

輸入 : 進入指令模式之後,可以使用 / 使用關鍵字, 搜尋的結果可使用 n 前往下一個結果,或是使用 N 回到上一個結果

選取

vV : 進入選取模式,V 會是整行選取的模式

編輯

oO : 往下與往上插入一行並進入編輯模式

J : 刪除後面的換行

iI : 進入編輯模式

  • i : 從字元的前方開始
  • I : 跳至該行的行首開始

aA : 進入編輯模式

  • a : 從字元的後方開始
  • A : 跳至該行的行尾開始

xX : 刪除字元

  • X : 刪除游標前一個的字元

sS : 刪除並進入編輯模式

  • s : 刪除字元
  • S : 刪除整行

yYyy : 選取範圍進行拷貝

  • y : 拷貝選取範圍
  • Y : 拷貝整行
  • yy : 拷貝整行,等同 Y

pP : 在字元的後方貼上與前方貼上

dddD : 刪除

  • d : 選取範圍後,進行刪除
  • dd : 刪除整行
  • D : 刪除該字元

>< : 縮排與反縮排

uCtrl + r : 還原 (undo) 與取消還原 (redo)

  • 在單行下,可以使用 >><< 快速進行縮排與反縮排
  • 多行縮排需要先選取想要的範圍在輸入 > <,可以搭配數字 5> 使用

預設中,刪除、複製與剪下的內容都會進入預設共用的剪貼簿

但剪貼簿有多個,也有給複製單獨使用的剪貼簿

如果你只想要貼上複製的內容,可以使用快捷鍵 "0p

編輯進階技巧

針對成對符號內下命令

命令 (operator) 是否包含成對符號 成對符號 (不區分 open/close)
v i { }, aka B, Brace
d a ( ), aka b, brace
c   [ ]
y   '" : 不分 open close
    < >
    t : tag
    w : word

針對成對符號本身做事

使用前請在 Vim 的設定中開啟

set surround

修改成對符號

  1. c : change
  2. s : surround
  3. original : 成對符號
  4. new : 新的成對符號

刪除成對符號

  1. d : delete
  2. s : surround
  3. 選擇成對符號

針對某一個範圍加上成對符號

  1. 先選取一段範圍
  2. S (注意是大寫)
  3. 選擇你要的成對符號,如果想在加上括號後頭尾預留空白,請使用開頭的成對符號,如 ([{,反之如果不想頭尾預留空白,請使用結束的成對符號,如 )]}

視窗

  • zt : 將游標所在的該行,移動至畫面的最上面
  • zz : 將游標所在的該行,移動至畫面正中央
  • zb : 將游標所在的該行,移動至畫面的最下面
  • Ctrl + yCtrl + e : 以一行為單位上下滾動
  • Ctrl + uCtrl + d : 以半個畫面為單位上下滾動
  • Ctrl + bCtrl + f : 以整個畫面為單位上下滾動

參考資料


This site uses Just the Docs, a documentation theme for Jekyll.