vim之光标移动

h  左,或 Backspace 或方向键

j  下,或 Enter 或 +(要 Shift 键),或方向键

k  上,或 方向键或 -(不必 Shift 键)

l  右,或 Space 或方向键

使用 hjkl 键的移动是为了使手不必离开打字区(键盘中央的部位),以加快打字的速度,如果各位不习惯,那就使用方向键吧!

Backspace 及 Space 的移动方式是到了行首或行尾时会折行,但方向键或 hl 键的移动则在行首或行尾时您继续按也不会折行。转折换行的功能是 vim 的扩充功能,elvis 无此功能。

jk 及使用方向键的上下移动游标会尽量保持在同一栏位。使用 Enter,+,- 的上下移动,游标会移至上(下)一行的第一个非空白字元处。

好像有点複杂,各位就暂时使用方向键来移动就简单明白了!等您爱上了 vim 后再来讲究吧。

 Ctrl-f    即 PageDown 翻页。

Crtl-b    即 PageUp 翻页。

 

进阶的游标移动

0  是数目字 0 而不是英文字母 o。或是 Hmoe 键,移至行首,

   (含空白字元)。

^  移至第一个非空白字元,注意,要 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  移至萤幕底第一个非空白字元。

这和 PageDown,PageUp 不一样,内文内容并未动,只是游标在动而已。

 n| 移至第 n 个字元(栏)处。注意,要用 Shift 键。n 是从头起

   算的。

:n 移至第 n 行行首。或 nG。

 

特殊的移动

)  移至下一个句子(sentence)首。

(  移至上一个句子(sentence)首。

}  移至下一个段落(paragraph)首。

{  移至上一个段落(paragraph)首。

sentence 是以 . ! ? 为区格。

paragraph 是以空白行为区格。

 %  这是匹配 {},[],() 用的,例如您的游标现在在 { 上

   只要按 %,就会跑到相匹配的 } 上。写程式时满好用的。

 

另还有一些 vim 的特殊按键,但这得留待最后才来讲述,否则各位恐怕会头昏眼花了。

滚一行

ctrl-e ctrl-y

zz 让光标所杂的行居屏幕中央

zt 让光标所杂的行居屏幕最上一行 t=top

zb 让光标所杂的行居屏幕最下一行 b=bottom

posted on 2012-12-13 19:54  浩瀚孤鸿  阅读(261)  评论(0编辑  收藏  举报