在Vim编辑中我们经常需要移动光标的位置,而拥有将光标快速移动到目标位置的能力将大大加快撸码速度。本文将传授乾坤大挪移之法,领教吧!
“反人类”的方向键
上下左右,我们一定会第一时间想到键盘上的方向键,虽然Vim上也可以使用方向键操作方向(Normal模式下移动),但实际上Vim中的方向键为h(←)j(↓)k(↑)l(→)。 接触的第一时间感觉这太“反人类”了,据说是因为Vim开发时方向键不流行的缘故。如果我们使用hjkl时会发现编码过程中我们的手一直都没有离开过主键盘区,而不需要移动到方向键部分操作,大概这才是hjkl被设置的缘由吧~
乾坤大挪移
单词之间移动
w/W
移动到下一个word/WORD开头。
- word:以非空白符分割的单词;
- WORD:以空白符分割的单词。
以this.name = name
为例,使用w分别跳至:.,n,=,n。如果使用W则为:= ,n。我认为不要纠结这个,不是重点。
e/E
移动到下一个word/WORD结尾。
b/B
移动到上一个word/WORD开头。
w/W
移动到下一个word/WORD开头。
行间搜索移动
有时候我们需要在同一行快速跳到某一个字符上,行间搜索移动即搜索同一行的某一个字符并且快速跳到该字符。使用f{char}
即可实现此功能(从行首开始搜索)。注意,此命令只能跳到第一次出现该字符的位置,我们可以使用;
继续跳转至下一个该字符,使用,
跳转回上一个字符。
也许我们现在在行尾,我们使用F{char}
实现从行尾向前搜索功能。
水平移动
水平移动即快速的移动至行首或行尾。
我们使用0
移动到行首的第一个字符,^
移动到第一个非空白字符。
我们使用$
移动到行尾,g_
移动到行尾非空白字符。
垂直移动
我们还可以在句子和段落间移动。
使用()
在句子间移动。(向前一句移动,)向后一句移动。Vim认为一个句子是以'.','!','?'结尾的句子。我们可以使用命令:help (
查看帮助文档。
使用{}
在段落间移动。{向前一段移动,)向后一段移动。
页面移动
使用gg/G
移动到文件的开头/结尾,并且使用ctrl+o
快速返回上次位置。
使用H/M/L
光标快速跳转到屏幕(不是文件哦~)的开头(Head)/中间(Middle)/结尾(Lower)。
使用Ctrl+u/f
进行上下翻页,使用zz
将当前位置置为屏幕中间。
版权属于:带翅膀的猫
本文链接:https://www.chengpengper.cn/archives/19/
转载时须注明出处及本声明
看的我热血沸腾啊www.jiwenlaw.com