vim高手如何玩转光标移动
1个回答
展开全部
简单的移动(适合小范围移动)
hjkl
用熟了,相对其它编辑器或者鼠标来说,确实挺方便的。
配合数字。
2j表示向下移动2行
利用查找(适合大范围移动)
/hello
向后查找关键词hello,回车就到了后面第一个hello处。
?hello
向前查找关键词hello
*向后查找当前光标处的单词
#向前查找当前光标处的单词
还有一个行内快速移动,利用f命令搜索某字符方式(适合行内移动)
f表示向后移动到某字符
比如fa表示向后移动到字符a处
Fa表示向前移动到字符a处。
这个操作,我认为不如/?查找用的爽,因为/?可以查找完整的单词。
利用w,b,以word为单位进行移动,类似hjkl(适合小范围移动)
同理,配合数字。
2w表示向后移动2个word;
2b表示向前移动2个word;
2e表示向后移动2个word,但是会移动到word字符之后。
如果想忽略标点符号的word,就用大写
W
B
E
移动到行首行尾(适合行内移动)
^表示移动到行首第一个word,即行首有空格的情况,不会移动到空格之前,而是移动到空格之后,第一个word之前;
0表示移动到行首;即行首有空格的情况,会移动到空格之前;
$表示移动到行末;即行末有空格的情况,会移动到空格之后;
如果想移动到行末最后一个非空白的字符处,就输入命令$b。一般来说,写代码,行末不会有空格存在的。这条应用没多大意义。
移动到文本开头和文本结尾(适合大范围移动)
gg表示移动到文本开头;
G表示移动到文本结尾
利用行号移动到某一行(适合大范围移动)
:123表示移动到第123行
翻页(适合大范围移动)
ctrl+f表示向下翻页
ctrl+b表示向上翻页
利用标记mark命令
ma表示标记该行为a;包括第几列的信息,都在标记a里。
‘a表示跳转到标记a处;会跳转到标记a的行首。单引号’
`a表示跳转到标记a处;会跳转到标记a的行,包括第几列。更精准。按键在波浪号处。
快速移动技巧基本就这些吧。
网上还有括号移动的,段落移动的,其实用上述技巧就够了。如果没有特别有意义的,不如熟练掌握上述技巧。
比如移动到上一个{,那么输入命令?{
熟悉快速移动技巧后。让我们想想,对于其它操作行为有很多可以举一反三的地方。
比如复制一部分文字,从time到tutor之间的内容。
The approximate time required to complete the tutor is 25-30 minutes.
最基本的就是用hjkl移动到time处,v命令,用hjkl移动到tutor,选中后,按y。命令结束。
熟悉快速移动后,/time回车,y/tutor。命令结束。
同理,如果delete,一样。/time回车,d/tutor。命令结束。
同理,如果change,一样。/time回车,c/tutor。命令结束。
change命令,适合修改代码。很有用。具体介绍可以输入命令:help c
比如cc表示删除本行并开始重写。删除本行同时执行insert模式。
hjkl
用熟了,相对其它编辑器或者鼠标来说,确实挺方便的。
配合数字。
2j表示向下移动2行
利用查找(适合大范围移动)
/hello
向后查找关键词hello,回车就到了后面第一个hello处。
?hello
向前查找关键词hello
*向后查找当前光标处的单词
#向前查找当前光标处的单词
还有一个行内快速移动,利用f命令搜索某字符方式(适合行内移动)
f表示向后移动到某字符
比如fa表示向后移动到字符a处
Fa表示向前移动到字符a处。
这个操作,我认为不如/?查找用的爽,因为/?可以查找完整的单词。
利用w,b,以word为单位进行移动,类似hjkl(适合小范围移动)
同理,配合数字。
2w表示向后移动2个word;
2b表示向前移动2个word;
2e表示向后移动2个word,但是会移动到word字符之后。
如果想忽略标点符号的word,就用大写
W
B
E
移动到行首行尾(适合行内移动)
^表示移动到行首第一个word,即行首有空格的情况,不会移动到空格之前,而是移动到空格之后,第一个word之前;
0表示移动到行首;即行首有空格的情况,会移动到空格之前;
$表示移动到行末;即行末有空格的情况,会移动到空格之后;
如果想移动到行末最后一个非空白的字符处,就输入命令$b。一般来说,写代码,行末不会有空格存在的。这条应用没多大意义。
移动到文本开头和文本结尾(适合大范围移动)
gg表示移动到文本开头;
G表示移动到文本结尾
利用行号移动到某一行(适合大范围移动)
:123表示移动到第123行
翻页(适合大范围移动)
ctrl+f表示向下翻页
ctrl+b表示向上翻页
利用标记mark命令
ma表示标记该行为a;包括第几列的信息,都在标记a里。
‘a表示跳转到标记a处;会跳转到标记a的行首。单引号’
`a表示跳转到标记a处;会跳转到标记a的行,包括第几列。更精准。按键在波浪号处。
快速移动技巧基本就这些吧。
网上还有括号移动的,段落移动的,其实用上述技巧就够了。如果没有特别有意义的,不如熟练掌握上述技巧。
比如移动到上一个{,那么输入命令?{
熟悉快速移动技巧后。让我们想想,对于其它操作行为有很多可以举一反三的地方。
比如复制一部分文字,从time到tutor之间的内容。
The approximate time required to complete the tutor is 25-30 minutes.
最基本的就是用hjkl移动到time处,v命令,用hjkl移动到tutor,选中后,按y。命令结束。
熟悉快速移动后,/time回车,y/tutor。命令结束。
同理,如果delete,一样。/time回车,d/tutor。命令结束。
同理,如果change,一样。/time回车,c/tutor。命令结束。
change命令,适合修改代码。很有用。具体介绍可以输入命令:help c
比如cc表示删除本行并开始重写。删除本行同时执行insert模式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询