vim:快捷鍵-移動
上下左右
h
左,或 Backspace
或方向鍵
j
下,或 Enter
或 +
(要 Shift 鍵),或方向鍵
k
上,或 -
(不必 Shift 鍵) 或 方向鍵
l
右,或 Space
或 方向鍵
使用hjkl
鍵的移動是為了使手不必離開打字區(鍵盤中央的部位),以加快打字的速度,如果不習慣,就使用方向鍵吧!
Backspace
及 Space
的移動方式是到了行首或行尾時會折行,但方向鍵或 hl
鍵的移動則在行首或行尾時您繼續按也不會折行。轉折換行的功能是 vim 的擴充功能,elvis 無此功能。
jk
及使用方向鍵的上下移動遊標會盡量保持在同一欄位。使用 Enter
+
,-
的上下移動,遊標會移至上(下)一行的第一個非空白字元處。
翻頁
Ctrl-f
即 PageDown
翻頁。
Crtl-b
即 PageUp
翻頁。
行內移動
0
是數目字 0 而不是英文字母 o。或是 Home
鍵,移至行首
^
移至第一個非空白字元,注意,要 Shift 鍵。
$
移至行尾,或 End
鍵。要 Shift 鍵。
以上兩個按鍵是源自正則表示式(regular expression),在 regexp 中 ^ 是匹配行首,$ 是匹配行尾。
文件內移動
G
移至檔尾(最後一行的第一個非空白字元處)
gg
移至檔首(第一行之第一個非空白字元處)
gg 是 vim 的擴充功能,在 elvis 或原始 vi 中可用 1G
G 之原意是 goto,指移至指定數目行之行首,如不指定數目,則預設是最後一行。
字母間移動
w
移至次一個字(word)字首。當然是指英文單字。
W
同上,但會忽略一些標點符號。
e
移至前一個字字尾。
E
同上,但會忽略一些標點符號。
b
移至前一個字字首。
B
同上,但會忽略一些標點符號。
螢幕內移動
H
移至螢幕頂第一個非空白字元。
M
移至螢幕中間第一個非空白字元。
L
移至螢幕底第一個非空白字元。
這和 PageDown
,PageUp
不一樣,內文內容並未動,只是遊標在動而已。
n|
移至第 n 個字元(欄)處。注意,要用 Shift 鍵。n 是從頭起算的。
:n
nG
。
^F
向下移動一屏
^B
向上移動一屏
n^F
向下移動n屏
n^B
向上移動n屏
^D
向下移動半屏
^U
向上移動半屏
n^D
向下移動n行
n^U
向上移動n行
^E
向螢幕頂端多滾動一行
^Y
向螢幕底端多滾動一行
zENTER
將游標所在的行移動到螢幕頂端
z.
將游標所在的行移動到螢幕中間
z-
將游標所在的行移動到螢幕底端