Vim 提供无需鼠标即可在终端中使用的键盘移动命令。有些 Vim 配置也支持鼠标输入,但学会移动命令后,就能把导航与编辑命令组合起来。
练习前请按 Esc 返回普通模式。
高级文本操作 · 第 5 课
学习如何在 Vim 普通模式中按字符、单词、行和文件位置移动。
Vim 提供无需鼠标即可在终端中使用的键盘移动命令。有些 Vim 配置也支持鼠标输入,但学会移动命令后,就能把导航与编辑命令组合起来。
练习前请按 Esc 返回普通模式。
普通模式中最基本的移动命令是:
h:向左移动一个字符。j:向下移动一行。k:向上移动一行。l:向右移动一个字符。方向键通常也能完成类似移动,但 h、j、k 和 l 能让双手靠近其他命令。在发生换行显示的行上,j 和 k 通常按文件行移动;gj 和 gk 则按屏幕上显示的行移动。
在普通模式中,哪个按键会让光标向下移动一行?
在许多移动命令前输入正整数,可以重复该移动。例如:
5j
3l
5j 向下移动五行;如果位置允许,3l 向右移动三个字符。计数也可以与单词移动和编辑命令组合。
普通模式中的 4k 会做什么?
常用的单词移动命令包括:
w:移动到下一个单词的开头。b:移动到当前或上一个单词的开头。e:移动到当前或下一个单词的末尾。大写的 W、B 和 E 使用由空白分隔的 WORD,对标点的处理方式不同。可以添加计数来跨越多个单词,例如 3w。
普通模式中的哪个命令会向前移动到第三个后续单词位置的开头?
以下移动命令定位当前行中的位置:
0:移动到第零列。^:移动到第一个非空白字符。$:移动到行尾。对于有缩进的行,0 和 ^ 的区别很重要。
哪个移动命令会到达缩进行的第一个非空白字符?
普通模式中的以下命令可用于较大范围的跳转:
gg:移动到第一行。G:移动到最后一行。42G:移动到第 42 行。Ctrl+F:向前移动大约一屏。Ctrl+B:向后移动大约一屏。输入命令 :42 后按 Enter,也可以跳转到第 42 行。
普通模式中的哪个命令会移动到缓冲区最后一行?
要在编辑可丢弃文件时练习键盘导航,可以尝试以下动手实验:
课程已完成
现在,你可以按多种实用尺度在 Vim 缓冲区中导航。
使用 h、j、k 和 l 按字符或行移动。
使用数字前缀重复移动。
使用 w、b 和 e 在单词边界之间移动。
定位行首、第一个文本或行尾。
使用 gg、G 或行号跳转到文件位置。