Vim 文本编辑器中,最简单的移动光标的方式是使用方向键,但这种方式的效率太低,更高效的方式使用快捷键。

Vim 移动光标常用的快捷键及其功能如下面各表所示,需要注意的是,表中所有的快捷键都在命令模式(默认状态)下直接使用。

Vim快捷方向键

快捷键

功能描述

h

光标向左移动一位

j

光标向下移动一行(以回车为换行符),也就是光标向下移动

k

光标向上移动一行(也就是向上移动)

l

光标向右移动一位

最初使用,大家可能觉得比较别扭,但熟能生巧,使用此方式移动光标同样能够提高编辑速度。

Vim光标以单词为单位移动

某些情形下,可能需要光标迅速移动至一行中的某个位置,将光标以单词为单位进行移动就会很方便。

快捷键

功能描述

w 或 W

光标移动至下一个单词的单词首

b 或 B

光标移动至上一个单词的单词首

e 或 E

光标移动至下一个单词的单词尾

nw 或 nW

n 为数字,表示光标向右移动 n 个单词

nb 或 nB

n 为数字,表示光标向左移动 n 个单词

Vim光标移动至行首或行尾

快捷键

功能描述

0 或 ^

光标移动至当前行的行首

$

光标移动至当前行的行尾

n$

光标移动至当前行只有 n 行的行尾,n为数字

Vim光标移动至指定字符

一行中,如果需要将光标移动到当前行的某个特点字符,则可以使用表 4 中的快捷键。

快捷键

功能描述

fx

光标移动至当前行中下一个 x 字符处

Fx

光标移动至当前行中下一个 x 字符处

Vim光标移动到指定行

快捷键

功能描述

gg

光标移动到文件开头

G

光标移动至文件末尾

nG

光标移动到第 n 行,n 为数字

:n

编辑模式下使用的快捷键,可以将光标快速定义到指定行的行首

Vim光标移动到匹配的括号处

程序员在编辑程序时,经常会为将光标移动到与一个 "(" 匹配的 ")" (对于 [] 和 {} 也是一样的)处而感到头疼。Vim 里面提供了一个非常方便地査找匹配括号的命令,这就是 "%"。

比如,在 /etc/init.d/sshd 脚本文件中(最好还是复制后练习,小心驶得万年船),想迅速地将光标定位到与第 49 行的 "{" 相对应的 "}" 处,则可以将光标先定位在 "{" 处,然后再使用 "%" 命令,使之定位在 "}" 处,如图 6 所示。

5.5 Vim移动光标命令汇总_vim

图 6 使用"%"命令定位括号

十年磨一剑