Vim快速移动光标

1、字符粒度的移动

快捷键助记作用
h向左移动一个字符
l向右移动一个字符
n|移动到文本行的第n列
fX**f**ind移动到光标后面的下一个字符X(X可以是任何字符)
FX**F**ind移动到光标前面的上一个字符X(X可以是任何字符)(f、F会将光标定位在字符X上)
tX**t**ill移动到光标后面的下一个字符X(X可以是任何字符)
TX**T**ill移动到光标前面的上一个字符X(X可以是任何字符)(和上面的f、F类似,区别就是光标定位在X字符之前)

2、单词粒度的移动

快捷键助记作用
w**w**ord下一个单词
W**w**ord同上,会忽略一些标点符号
b**b**ackward上一个单词
B**b**ackward同上,会忽略一些标点符号
e**e**nd移动到单词的末尾
E**E**nd同上,但是会忽略一写标点符号
n**n**ext移动到下一次搜索匹配的位置(next matching search pattern)
N**N**ext移动到上一次搜索匹配的位置(previous matching search pattern)
*移动到下一次出现光标下单词的位置(next whole word under cursor)
#移动到上一次出现光标下单词的位置(previous whole word under cursor)
g*next matching search (not whole word) pattern under cursor
g#previous matching search (not whole word) pattern under cursor(g*、g#和*、#的区别,这里暂不解释)

3、基于行的移动

快捷键助记作用
j向下移动一文本行
k向上移动一文本行
gj向下移动一屏幕行
gk向上移动一屏幕行
0移动到文本行的开头
$移动到文本行的末尾
^移动到文本行的第一个非空白字符
_移动到文本行的第一个非空白字符(move to first non-blank character of the line)
g_移动到文本行的最后一个非空白字符(move to last non-blank character of the line)
gg移动到第一行
G移动到最后一行
nG或者是 ngg 移动到第n行
:n移动到第n行
nH**H**igh移动到屏幕顶端往下的第n行
nL**L**ow移动到屏幕顶端往上的第n行

4、 基于锚点的移动

快捷键助记作用
o在选中区域的两端交替移动光标
%在括号两端交替移动(会先找到在同一行的括号,然后,在括号的两端交替移动)(jump to matching bracket {}, [], ())
)移至下一个句子(sentence)首。(Jump forward one sentence.)
(移至上一个句子(sentence)首。sentence(句子)是以.!?为分隔。(Jump backward one sentence.)
}移至下一个段落(paragraph)首。(Jump forward one paragraph.)
{移至上一个段落(paragraph)首。paragraph(段落)是以空白行为分隔。(Jump backward one paragraph.)
m{a-zA-Z}**m**ark用m{a-zA-Z}标记该位置
`{a-zA-Z}光标移动到之前用{a-zA-Z}标记的位置
‘{a-zA-Z}光标移动到之前用{a-zA-Z}标记的位置所在行的行首

5、基于屏幕的移动

快捷键助记作用
Ctrl+u**u**p向上半屏
Ctrl+d**d**own向下半屏
Ctrl+b**b**ackward向上半屏
Ctrl+f**f**orward向下半屏
H**H**igh移动光标到屏幕顶端(move to top of screen)
M**M**iddle移动光标到屏幕中央(move to middle of screen)
L**L**ow移动光标到屏幕底端(move to bottom of screen)

6、基于历史的移动

快捷键助记作用
Ctrl+o**o**lder光标回到之前的位置(jump to last (older) cursor position)
Ctrl+i光标回到之后的位置(之前有ctrl+o操作)(jump to next cursor position (after Ctrl+o))
;重复上次的f、t、F和T移动操作(以相同的方向)
,重复上次的f、t、F和T移动操作(以相反的方向)
移动到上次光标所在的位置(多次的效果就是在最近的光标位置之间交替移动)(Return to the cursor position before the latest jump (undo the jump).)
移动到之前光标位置所在的行(Return to the line where the cursor was before the latest jump.)
‘.移动到上次修改的行(Jump to the last-changed line.)
gv**v**isual移动到上次选中的位置,并选中上次选中的内容

7、光标所在的位置不变,改变文本相对屏幕的位置

快捷键助记作用
zz将光标所在的行移动到屏幕中央
Ctrl+y光标位置不变,屏幕内容向下移动一行(move view pane up)
Ctrl+e光标位置不变,屏幕内容向上移动一行(move view pane down)
zh左移屏幕内容(如果设置了nowrap,并且文本行超出屏幕)
zl右移屏幕内容(如果设置了nowrap,并且文本行超出屏幕)
z.将光标所在行移动到屏幕中间(scroll the line with the cursor to the center of the screen)
zt**t**op将光标所在行移动到屏幕顶端(scroll the line with the cursor to the top)
z将光标所在行移动到屏幕顶端
z-将光标所在行移动到屏幕底端
zb**b**ottom将光标所在行移动到屏幕底端(scroll the line with the cursor to the bottom)

8、其他快捷键

快捷键助记作用
Ctrl+g显示当前行的信息
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值