1. 程式人生 > >vim:快捷鍵-移動

vim:快捷鍵-移動

上下左右

h 左,或 Backspace 或方向鍵
j下,或 Enter+(要 Shift 鍵),或方向鍵
k 上,或 -(不必 Shift 鍵) 或 方向鍵
l右,或 Space 或 方向鍵

使用hjkl鍵的移動是為了使手不必離開打字區(鍵盤中央的部位),以加快打字的速度,如果不習慣,就使用方向鍵吧!
BackspaceSpace 的移動方式是到了行首或行尾時會折行,但方向鍵或 hl 鍵的移動則在行首或行尾時您繼續按也不會折行。轉折換行的功能是 vim 的擴充功能,elvis 無此功能。

jk 及使用方向鍵的上下移動遊標會盡量保持在同一欄位。使用 Enter

+- 的上下移動,遊標會移至上(下)一行的第一個非空白字元處。

翻頁

Ctrl-fPageDown 翻頁。
Crtl-bPageUp 翻頁。

行內移動

0 是數目字 0 而不是英文字母 o。或是 Home 鍵,移至行首
^移至第一個非空白字元,注意,要 Shift 鍵。
$移至行尾,或 End 鍵。要 Shift 鍵。
以上兩個按鍵是源自正則表示式(regular expression),在 regexp 中 ^ 是匹配行首,$ 是匹配行尾。

文件內移動

G 移至檔尾(最後一行的第一個非空白字元處)
gg 移至檔首(第一行之第一個非空白字元處)
gg 是 vim 的擴充功能,在 elvis 或原始 vi 中可用 1G

來移至檔首(是數字 1 不是英文字 l)。
G 之原意是 goto,指移至指定數目行之行首,如不指定數目,則預設是最後一行。

字母間移動

w 移至次一個字(word)字首。當然是指英文單字。
W 同上,但會忽略一些標點符號。
e 移至前一個字字尾。
E 同上,但會忽略一些標點符號。
b 移至前一個字字首。
B 同上,但會忽略一些標點符號。

螢幕內移動

H 移至螢幕頂第一個非空白字元。
M 移至螢幕中間第一個非空白字元。
L 移至螢幕底第一個非空白字元。
這和 PageDownPageUp 不一樣,內文內容並未動,只是遊標在動而已。

n| 移至第 n 個字元(欄)處。注意,要用 Shift 鍵。n 是從頭起算的。
:n

移至第 n 行行首。或 nG

^F 向下移動一屏
^B 向上移動一屏
n^F 向下移動n屏
n^B 向上移動n屏
^D 向下移動半屏
^U 向上移動半屏
n^D 向下移動n行
n^U 向上移動n行
^E 向螢幕頂端多滾動一行
^Y 向螢幕底端多滾動一行
zENTER 將游標所在的行移動到螢幕頂端
z. 將游標所在的行移動到螢幕中間
z- 將游標所在的行移動到螢幕底端