vim 光标移动笔记
hjkl
左下上右
w W 下一个word首字符 word
b B 前一个word首字符 backward
e E 下一个word尾字符 end (或当前字的尾字符)
ge gE 前一个word尾字符
word non-word的特殊字符充当word边界
WORD 以空白充当word边界
ge b w e
<- <- ---> --->
This is-a line, with special/sepatated/words (and some more).
<----- <----- ---------------------> ----->
gE B W E
$ 当前行行尾
^ 当前行第一个非空白字符
0(零) 当前行第一个字符
前三者,只有$可以接受一个计数 1$为当前行行尾 2$则会移动到下一行行尾
^
<------------
This is a line with example text.
<---------------- ------------------>
0 $
f F 右向/左向单字符搜索
光标停留在被搜索字符上
Fo 3fl
<------- ------------------->
To err is human. To really foul up you need a computer.
---------->-------------->
fh fy
t T 右向/左向单字符搜索
光标停留在被搜索字符前一字符
To err is human. To really foul up you need a computer.
<-------- ------------->
To ty
% 括号匹配
%
<->
<----->
<--------->
( [ { } ] )
G go 行跳转
nG 第n行 gg 首行 G 尾行
H home 首行
M middle 中间行
L last 尾行
Ctrl-F 向前滚动一屏
Ctrl-B 向后滚动一屏
zt 屏幕顶端 zz 屏幕中部 zb 屏幕底端 top and bottom
Ctrl-O 跳转到更早前位置 (Older)
Ctrl-I 跳回到后来停置光标更新的位置 (I在O键盘左边) (与Tab一样效果)
ma 在光标处标记为 a (mark)
`a 跳转到位置a (开单引号 通常在数字键1左边)
'a 跳转到位置a的行首
`` 跳转回起跳位置
[ 最后一次修改的起始位置
] 最后一次修改的结束位置
:jumps 列出跳转位置的列表 最后一个跳转位置被一个 > 标记
:marks 查看标记列表