您的位置:首页 > 其它

vim每日一练(二)——光标的横向纵向移动

2015-09-15 19:31 197 查看
上一节我们介绍了光标的移动按键:hjkl,即左下右上。今天来写更高级一点的光标移动

1.光标的左右移动



0 移动到左边的第一个字符
^ 移动到左边的第一个非空白字符

$ 移动到第N-1行的最后一个字符(N默认为1)
有时候一行语句很长,在vim屏幕的宽度中放不下,可能会出现自动换行(wrap)的情况,此时可以使用下面几个命令使得移动是以屏幕行为对象,而非实际行。
g0 移动到屏幕行的第一个字符
g^ 移动到屏幕行的第一个非空白字符

g$ 移动到第N-1个屏幕行的最后一个字符
gm 移动到屏幕行的中间位置
还有几个快速的左右移动方式

| 移动到第N列

f{char} 移动到从当前位置起左边第N个char字符的位置

F{char}移动到从当前位置起右边第N个char字符的位置

t{char}移动到从当前位置起左边第N个char字符之前的位置

T{char}移动到从当前位置起右边第N个char字符之前的位置

; 重复N次前面的"f", "F", "t", "T"

, 反方向重复N次前面的"f", "F", "t", "T"

2.光标的上下移动

- 向上移动N行,定位到第一个非空白字符

+ 向下移动N行,定位到第一个非空白字符

G 移动到第N行,定位到第一个非空白字符,默认为最后一行

gg 移动到第N行,定位到第一个非空白字符,默认为第一行
N% 移动到第文件的N%的位置

gk 向上移动N个屏幕行

gj 向下移动N个屏幕行
3.光标的按元素移动

w 向前移动N个单词

W 向前移动N个空格隔开的单词

e 向前移动N个单词,定位到单词的结尾处

E 向前移动N个空格隔开的单词,定位到单词的结尾处

b 向后移动N个单词

B 向后移动N个空格隔开的单词

ge 向后移动N个单词,定位到单词的结尾处

gE 向后移动N个空格隔开的单词,定位到单词的结尾处
按句子和段落移动:

) 向前移动N个句子

( 向后移动N个句子

} 向前移动N个段落

{ 向后移动N个段落

]] 向前移动N个句子,停留在句子的开头处

[[ 向后移动N个句子,停留在句子的开头处

][ 向前移动N个句子,停留在句子的结尾处

[] 向后移动N个句子,停留在句子的结尾处
定位括弧、预编译指令,注释等:

[( 向后找第N个'('的位置

]) 向前找第N个')'的位置

[{ 向后找第N个'{'的位置

]} 向前找第N个'}'的位置

[# 向后找第N个#if或#else

]# 向前找第N个#else或#endif

[* 向后找第N个"/*"

]* 向前找第N个"*/"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: