基于开源的Vim学习教程learn-vim
1. 字符导航
在Vim中最基本的移动单元是上下左右移动一个字符。
h 左
j 下
k 上
l 右
当然也可以通过键盘的方向键进行移动。
为什么Vim用这几个键来当作方向键,这是因为Vi的作者Bill Joy写Vi时用的Lear-Siegler ADM-3A终端没有方向键,而是把 hjkl
当作方向键。
2. 对移动记数
与我们在Vim教程1 语法所讲的Vim语法类似,移动也有其语法:
[记数] + 移动字符
比如用 9l
来表示向右移动9个字符。
3. 单词导航
如果只能以字符为单位进行移动,并不能高效的在文件中移动光标。Vim提供了更长的单位:单词(word)。可以通过 w
移动到下一个单词的开始,通过 e
移动到下一个单词的结尾,通过 b
移动到上一个单词的开始,而通过 ge
移动到前一个单词的结尾。
除了上述的 单词
单位,还有一种单位为 词组
(WORD)。单词与词组有什么不同呢?一个单词是指一个只包含 a-zA-Z0-9
的字符串,而一个词组是指包含除了空字符(包含空格,Tab,EOL)以外的字符的字符串。可以通过 :h word
和 :h WORD
了解更多。
以下是 单词
与 词组
的相关键:
w 移动到下一个单词的开头
W 移动到下一个词组的开头
e 移动到下一个单词的结尾
E 移动到下一个词组的结尾
b 移动到前一个单词的开头
B 移动到前一个词组的开头
ge 移动到前一个单词的结尾
gE 移动到前一个词组的结尾
具体而言,以以下的Rust代码为例:
let mut a = "Hello Vim!";
当光标位于该行的开头时,可以通过按25次 l
移动到该行尾,又或者使用25l