Vim移动光标快捷键汇总

1年前 (2024-04-26)
Vim 文本编辑器中,最简单的移动光标的方式是使用方向键,但这种方式的效率太低,更高效的方式使用快捷键。

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

Vim快捷方向键

表 1 Vim光标上、下、左、右移动快捷键

快捷键

功能描述

h

光标向左移动一位

j

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

k

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

光标向右移动一位


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

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 使用"%"令定位括号