Vim 移动命令:字符 / 词 / 行 / 句 / 段 / 屏 / 文件
更新时间:2026-08-30。本文是
languages/vim/主题入门层第 4 篇。移动是普通模式下最高频的操作,值得单独练熟。
本文要回答的问题
- 除了
h j k l,还有哪些"跳得更快"的移动键? - 怎么按"词""句""段"成块跳?
- 怎么在长文件里快速翻屏、跳到某行/某字符?
一、基础四向(替代方向键)
| 键 | 方向 | 记忆 |
|---|---|---|
h | 左 | left |
j | 下 | 下(j 像下箭头) |
k | 上 | 上 |
l | 右 | right |
hjkl 来自 Vi 时代没有方向键的终端。新手会觉得别扭,但一旦手指不用挪到方向键,整体节奏会快很多。
二、按"词"跳(提速关键)
| 键 | 作用 |
|---|---|
w | 跳到下一个词首(word) |
b | 跳回上一个词首(back) |
e | 跳到当前/下一个词尾(end) |
W B E | 同上,但按"空格分隔的大词"算(忽略标点) |
w 比连按 l 快十倍,是日常移动主力。
三、按"行 / 句 / 段"跳
| 键 | 作用 |
|---|---|
0 | 跳到行首(第 0 列) |
^ | 跳到行首第一个非空字符 |
$ | 跳到行尾 |
( ) | 跳到上一句 / 下一句(按 .!? 断句) |
{ } | 跳到上一段 / 下一段(按空行分段) |
+ - | 下一行行首 / 上一行行首 |
四、按"屏幕"跳
| 键 | 作用 |
|---|---|
Ctrl-f | 下翻一屏(forward) |
Ctrl-b | 上翻一屏(back) |
Ctrl-d | 下翻半屏(down) |
Ctrl-u | 上翻半屏(up) |
H | 跳到屏幕顶部行(High) |
M | 跳到屏幕中间行(Middle) |
L | 跳到屏幕底部行(Low) |
zz | 把当前行滚到屏幕中央 |
zt / zb | 当前行置顶 / 置底 |
五、按"文件"跳(精准定位)
| 键 | 作用 |
|---|---|
gg | 跳到文件第一行 |
G | 跳到文件最后一行 |
:42 回车 | 跳到第 42 行 |
42G | 同上,跳到第 42 行 |
% | 在匹配的 () {} [] 之间跳转 |
排障时 :行号 配合编译器报错行号非常顺手——比如 gcc 报 main.c:42,直接 :42 跳转。
六、按"配对 / 标记"跳
| 键 | 作用 |
|---|---|
f{字符} | 行内跳到下一个该字符(如 fa 跳到下一个 a) |
F{字符} | 行内反向跳 |
t{字符} | 跳到该字符前一个位置(to) |
; , | 重复 / 反向重复上一次 f t |
* # | 跳到下一个 / 上一个当前光标下的词 |
七、与本站主线衔接
一句话总结
Vim 移动按粒度分层:字符 hjkl → 词 wbe → 行 $0^ → 句段 (){} → 屏 C-f/b → 文件 gg/G/:n,越往上跳得越远;w 和 :行号 是日常最该先练熟的两个。
上一篇:Vim 模式理解 下一篇:Vim 编辑:删除 / 复制 / 粘贴 / 撤销