Vim 文本编辑器中,最简单的移动光标的方式是使用方向键,但这种方式的效率太低,更高效的方式使用快捷键。
Vim 移动光标常用的快捷键及其功能如下面各表所示,需要注意的是,表中所有的快捷键都在命令模式(默认状态)下直接使用。
Vim快捷方向键
表 1 Vim光标上、下、左、右移动快捷键
快捷键 |
功能描述 |
h |
光标向左移动一位 |
j |
光标向下移动一行(以回车为换行符),也就是光标向下移动 |
k |
光标向上移动一行(也就是向上移动) |
l |
光标向右移动一位 |
最初使用,大家可能觉得比较别扭,但熟能生巧,使用此方式移动光标同样能够提高编辑速度。
Vim光标以单词为单位移动
某些情形下,可能需要光标迅速移动至一行中的某个位置,将光标以单词为单位进行移动就会很方便。
表 2 Vim光标以单词为单位进行移动
快捷键 |
功能描述 |
w 或 W |
光标移动至下一个单词的单词首 |
b 或 B |
光标移动至上一个单词的单词首 |
e 或 E |
光标移动至下一个单词的单词尾 |
nw 或 nW |
n 为数字,表示光标向右移动 n 个单词 |
nb 或 nB |
n 为数字,表示光标向左移动 n 个单词 |
Vim光标移动至行首或行尾
表 3 光标移动到行首或行尾
快捷键 |
功能描述 |
0 或 ^ |
光标移动至当前行的行首 |
$ |
光标移动至当前行的行尾 |
n$ |
光标移动至当前行只有 n 行的行尾,n为数字 |
Vim光标移动至指定字符
一行中,如果需要将光标移动到当前行的某个特点字符,则可以使用表 4 中的快捷键。
表 4 光标移动至指定字符
快捷键 |
功能描述 |
fx |
光标移动至当前行中下一个 x 字符处 |
Fx |
光标移动至当前行中下一个 x 字符处 |
Vim光标移动到指定行
表 5 光标移动到指定行
快捷键 |
功能描述 |
gg |
光标移动到文件开头 |
G |
光标移动至文件末尾 |
nG |
光标移动到第 n 行,n 为数字 |
:n |
编辑模式下使用的快捷键,可以将光标快速定义到指定行的行首 |
Vim光标移动到匹配的括号处
程序员在编辑程序时,经常会为将光标移动到与一个 "(" 匹配的 ")" (对于 [] 和 {} 也是一样的)处而感到头疼。Vim 里面提供了一个非常方便地査找匹配括号的命令,这就是 "%"。
比如,在 /etc/init.d/sshd 脚本文件中(最好还是复制后练习,小心驶得万年船),想迅速地将光标定位到与第 49 行的 "{" 相对应的 "}" 处,则可以将光标先定位在 "{" 处,然后再使用 "%" 命令,使之定位在 "}" 处,如图 6 所示。
图 6 使用"%"命令定位括号