Vim中什么按键可以替代方向按键?
在普通的编辑器中,我们可以通过上下左右的方向键来进行光标的移动。在Vim中除了这些方向键,h
, j
, k
, l
四个字符也可以进行方向的移动。可能大家注意到这四个字符在键盘上面的排列位置靠在一起,这样的设置主要是为了手指不离开高频输入按键太远,方便我们操作。
小写的 h
按键表示向左移动光标, 小写的 j
表示向下移动光标, 小写的 k
表示向上移动光标, 小写的 l
表示向右移动光标。
Vim中除了方向移动还有什么按键可以移动光标?
小写的 w
可以按照普通单词为单位向右移动光标到单词的开始;
小写的 b
可以按照普通单词为单位向左移动光标到单词的开始;
这里区分一下广义单词和普通单词,广义单词依照空格为分割符,单词与标点和特殊符号相连的情况下作为一个整体;而普通单词将标点符号或特殊符号作为独立的单词。
大写的 W
可以按照广义单词为单位向右移动光标;
大写的 B
可以按照广义单词为单位向左移动光标;
小写的 e
可以将光标跳转到当前所在普通单词的结尾;
大写的 E
可以将光标跳转到当前所在广义单词的结尾;
^
按键可以跳转到光标所在行开始的首个非空字符;
0
数字按键可以跳转到光标所在行的行首,如果行开始有空字符,则跳转到首个空字符之前;
$
美元符号跳转到光标所在行的行尾;
(
小括号开始按键可以跳转到前一个句子;
)
小括号结束按键可以跳转到下一个句子;
{
大括号开始按键可以跳转到前一个段落;
}
大括号结束按键可以跳转到下一个段落;
gg
两个字符的按键可以将光标跳转到所在文件的第一行;
大写的 G
可以将光标跳转到所在文件的最后一行;
:n
冒号加数字可以跳转至行号为 n 的那一行;
Vim如何使光标在一行之内跳转到指定的字符?
比如我们想在光标所在行内,使光标跳转到 q 这个字符的位置,我们可以用 fq
这两个字符按键,f
表示查找,后面的 q
表示要查找的字符。如果行内查找的 q 不是我们想要的位置,我们的 q 出现在第二次或者第三次,可以使用分号 ;
进行命令的重复查找。如果我们在执行重复命令的时候跳过了我们要找的 q ,比如我们要找第二个,却跳到第三个 q 的位置,在这种情况下我们可以使用逗号 ,
进行反向执行命令。
大写的 F
加上关键字符 q
,和小写 f
命令查找方向相反。另外也可以用分号 ;
和逗号 ,
进行重复执行查找命令。
大写和小写的 t
命令和大小写的 f
命令类似,不过光标会停留在查找的关键字符之前或者之后一个字符的位置。小写的 t
命令会在之前的位置,而大写的 T
会位于之后的一个位置,这个和搜索方向相关。T
命令可以理解为 Until 的意思。另外针对T
命令,也可以由分号 ;
和逗号 ,
重复执行查找命令。
Vim光标的 Count + Motion 移动范式
count表示重复的次数, motion表示移动命令。比如 2w
表示使光标向右移动两个单词;2j
表示向下移动两行;2fa
表示向右查找到第二个a字符的位置。
Vim视频教程 – 光标移动
课程资料具体可以查看课程介绍。