Vim 命令速查表 - Vim 编辑器常用操作命令大全

在没有图形界面的服务器上改配置文件,Vim 是绕不开的工具:这套操作覆盖光标精准移动、批量替换、可视块列编辑,以及忘了 sudo 时的提权保存。花十分钟把 motion 与查找替换练成肌肉记忆,之后改 nginx、sshd 这类配置都能自然提速。

系统与运维·共 21 条命令·最后更新 2026-07-21

移动 Motion 5

gg / G
跳到文件开头 / 结尾
0 / $
跳到行首 / 行尾
w / b
向后 / 向前跳一个词
:42
跳到第 42 行
Ctrl-f / Ctrl-b
向下 / 向上翻一屏

编辑 Edit 6

i / a
在光标前 / 后进入插入模式
o / O
在下方 / 上方新建一行并插入
dd / yy
删除 / 复制当前行
p / P
在光标后 / 前粘贴
u / Ctrl-r
撤销 / 重做
x / r<char>
删除字符 / 替换单个字符

可视模式与保存退出 6

v / V
字符可视 / 行可视选择
Ctrl-v
块可视,列编辑用
:w
保存
:wq 或 ZZ
保存并退出
:q!
不保存强制退出
:w !sudo tee %
忘记 sudo 打开时强制保存

提示

  • 卡在 Vim 出不去:按 Esc 回到普通模式,再输入 :q! 强制不保存退出。
  • 编辑系统文件忘了 sudo,用 :w !sudo tee % 直接提权保存,不用退出重开。
  • 大段替换前先 /word 确认匹配范围,再用 :%s,加 c 标志逐个确认更安全。

常见问题

Vim 普通、插入、命令三种模式怎么快速切换?

启动默认在普通模式,按 i/a/o 进入插入模式打字,按 Esc 回到普通模式执行移动和编辑;普通模式下输入冒号进入命令行模式,输入 / 进入搜索。记住普通模式只负责操作、插入模式只负责打字即可。

用 Vim 打开文件后才发现没加 sudo,改完没法保存怎么办?

不用退出重开,直接输入 :w !sudo tee % 用 root 权限写回当前文件(% 代表当前文件名);若缓冲已只读,先 :e % 重新加载。更省事的方式是一开始就用 sudo vim 打开。

怎么在当前文件里全局替换,比如把所有 foo 改成 bar?

用 :%s/foo/bar/g 做全文件替换,加 ^ 限定行首、加 $ 限定行尾,去掉末尾的 g 则只替换每行首个匹配。需要逐个确认时改用 :%s/foo/bar/gc,用 y 或 n 决定每个替换。

改错了想撤销,撤销过头了想重做,怎么操作?

普通模式下按 u 撤销上一步,按 Ctrl+r 重做被撤销的操作;Vim 的撤销是多级历史,可连按 u 连续回退。若想丢弃全部更改,用 :q! 不保存强制退出即可。

想在多行同一列插入或删除内容(列编辑)怎么做?

普通模式下按 Ctrl+v 进入可视块模式,垂直移动选中多行同一列,按 I 在上部输入,最后按 Esc 让 Vim 把输入复制到整列各行的相同位置;按 d 或 x 则可删除选中的纵向区间。

官方参考来源

下方为命令对应的官方权威文档,供你核对最新用法与深入查阅。

由 巧匠 维护

公开更新于 2026年7月21日,内容持续校对官方文档。

联系我们

命令或描述有误?提交反馈、商务合作或产品建议都可发送邮件给我们。

联系我们