-
Notifications
You must be signed in to change notification settings - Fork 0
nvim learn 01 modes and movement
ES edited this page Jul 16, 2026
·
1 revision
新手第一课:理解模式,学会移动光标。掌握这些就能在 Neovim 里自由导航
Neovim 是模式编辑器,不同模式下同一个键有不同含义:
| 模式 | 进入方式 | 用途 | 退出 |
|---|---|---|---|
| Normal |
Esc 或 Ctrl+[
|
导航、执行命令(默认模式) | — |
| Insert |
i / a / o
|
输入文字 | Esc |
| Visual |
v / V / Ctrl-v
|
选择文本 | Esc |
| Command | : |
执行 Ex 命令 |
Enter 执行 / Esc 取消 |
| Replace | R |
覆写文字(打字直接替换) | Esc |
| Terminal | :terminal |
内嵌终端 |
Ctrl-\ Ctrl-n 回到 Normal |
核心原则:大部分时间应该在 Normal 模式,只在需要打字时进入 Insert
| 键 | 作用 |
|---|---|
i |
光标前插入 |
I |
行首(首个非空字符前)插入 |
a |
光标后插入 |
A |
行尾插入 |
o |
下方新开一行并插入 |
O |
上方新开一行并插入 |
s |
删除当前字符并插入 |
S |
删除整行并插入 |
多数按键可用英文命令助记,但并非每个字母都是严格缩写。h/j/k/l 来自早期终端键盘的方向键布局;q/x/z 等键则没有可靠的单词缩写,不必强行联想
| 键 | 英文助记 | 小写 | 大写 |
|---|---|---|---|
| a | append | 光标后插入 |
A 行尾插入 |
| b | backward | 上一个单词开头 |
B 按 WORD 跳(空格分词,忽略标点) |
| c | change |
c{motion} 删除并插入(如 cw) |
C 改到行尾(= c$) |
| d | delete |
d{motion} 删除(如 dd 删行) |
D 删到行尾(= d$) |
| e | end | 当前/下一个单词末尾 |
E 按 WORD 跳末尾 |
| f | find |
f{char} 跳到本行下一个 char |
F{char} 反向 |
| g | go | 组合前缀(见 Advanced Commands) |
G 文件末尾;{n}G 跳第 n 行 |
| h | 方向键布局 | 左移 |
H 屏幕顶部(High) |
| i | insert | 光标前插入 |
I 行首插入 |
| j | 方向键布局 | 下移 |
J 合并行(join) |
| k | 方向键布局 | 上移 |
K 关键字帮助(keyword;本配置显示 LSP hover) |
| l | 方向键布局 | 右移 |
L 屏幕底部(Low) |
| m | mark |
m{a-z} 设标记 |
M 屏幕中间(Middle) |
| n | next | 下一个搜索匹配 |
N 上一个搜索匹配 |
| o | open line | 下方新行并插入 |
O 上方新行并插入 |
| p | put | 光标后粘贴 |
P 光标前粘贴 |
| q | 无固定缩写 |
q{a-z} 录宏 / q 停止 |
Q Ex 模式(几乎不用) |
| r | replace |
r{char} 替换当前字符 |
R 替换模式(持续覆写) |
| s | substitute | 删字符并插入(= cl) |
S 删整行并插入(= cc) |
| t | till |
t{char} 跳到 char 前一格 |
T{char} 反向 |
| u | undo | 撤销 |
U 行级撤销(少用) |
| v | visual | 字符可视模式 |
V 行可视;Ctrl-v 块可视 |
| w | word | 下一个单词开头 |
W 按 WORD 跳 |
| x | 无固定缩写 | 删除光标下字符 |
X 删除光标前字符 |
| y | yank |
y{motion} 复制(yy 复制行) |
Y 复制整行 |
| z | 无固定缩写 | 组合前缀(见 Advanced Commands) | — |
h ← 左 j ↓ 下 k ↑ 上 l → 右
| 键 | 作用 | WORD 版本(空格分词) |
|---|---|---|
w |
下一个词首 | W |
b |
上一个词首 | B |
e |
当前/下一个词尾 | E |
ge |
上一个词尾 | gE |
word vs WORD:
hello-world按 word 是两个词(hello、world),按 WORD 是一个(空格才分隔)
| 键 | 作用 |
|---|---|
0 |
行首(第 0 列) |
^ |
行首非空白字符 |
$ |
行尾 |
f{char} |
跳到本行下一个 char |
F{char} |
反向 |
t{char} |
跳到 char 前一格 |
T{char} |
反向 |
; |
重复上次 f/t
|
, |
反向重复 |
| 键 | 作用 |
|---|---|
gg |
文件第一行 |
G |
文件最后一行 |
{n}G 或 :{n}
|
跳到第 n 行 |
{ / }
|
上一个 / 下一个空行(段落跳转) |
% |
跳到匹配的括号 |
Ctrl-d / Ctrl-u
|
半页下 / 上滚动 |
Ctrl-f / Ctrl-b
|
整页下 / 上滚动 |
H / M / L
|
屏幕顶 / 中 / 底 |
| 键 | 作用 |
|---|---|
Ctrl-o |
跳转列表后退(回到上个位置) |
Ctrl-i |
跳转列表前进 |
g; |
修改列表后退(上次编辑的位置) |
g, |
修改列表前进 |
| 键 | 作用 |
|---|---|
v |
字符选择 |
V |
行选择 |
Ctrl-v |
块选择(矩形) |
gv |
重新选中上次选区 |
o |
在选区内切换光标端(调整选区起止点) |
选中后可用 d 删除、y 复制、c 修改、> / < 缩进、: 执行命令
| 键 | 作用 |
|---|---|
/{pattern} |
向前搜索 |
?{pattern} |
向后搜索 |
n / N
|
下一个 / 上一个匹配 |
* |
搜索光标下的单词(向前) |
# |
搜索光标下的单词(向后) |
学会移动后,进入 Editing and Text Objects 学习编辑操作