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- 将光标所在的行移动到屏幕底端

posted @ 2018-12-11 08:49  xuejianbest  阅读(753)  评论(0编辑  收藏  举报