跳到主要内容

Vim 常用命令速查:从退出 vim 到批量替换的完整入门

把 vim 模式切换、光标移动、编辑、保存退出和查找替换的常用命令一次理清楚,配真实例子和新手起步顺序,让你在终端里改文件不再卡壳。

发布于 作者 李雷
#vim #命令速查 #终端 #开发者工具

Vim 常用命令速查:从退出 vim 到批量替换的完整入门

很多人对 vim 的第一印象,是被困在里面出不来。敲了半天键盘没反应,按 Ctrl+C 也没用,最后只能关掉整个终端窗口。这不是你笨,而是没人告诉你 vim 分模式。把模式这件事想通,再记住几组常用命令,vim 会比任何鼠标编辑器都快。这篇文章按场景把 vim 最常用的命令理一遍,配套的交互式速查表在 /zh/t/vim-cheatsheet/,122 条命令都能搜、能筛、能直接复制。

先搞懂模式:vim 卡住的真正原因

vim 不是一打开就能打字的。它默认在 normal 模式,这时候你敲的每个键都是命令,不是文字。想输入内容,先按 i 进 insert 模式,左下角会出现 -- INSERT --,这时候打字才会进文件。打完按 Esc 回到 normal 模式。

记住这个循环:Esc 回 normal,i 进 insert,: 进 command 模式。新手只要管好这三步,剩下的命令都建立在它们之上。所谓被困在 vim 里,本质就是一直在 normal 模式敲字,文件没动,自己却以为坏了。

保存和退出:被问爆的那个问题

退出 vim 是 Stack Overflow 上 vim 标签下被问最多的问题,没有之一。流程很固定:先按 Esc 确保在 normal 模式,再敲命令。

  • :wq 保存并退出,最常用的一条。
  • :q 只退出,没改动时用。
  • :q! 改了不想存,强制退出丢弃改动。
  • ZZ 等于 :wq,ZQ 等于 :q!,这两个快捷键值得背下来。

如果你改了内容直接敲 :q,vim 会拦你,报 E37: no write since last change。这不是报错,是提醒你有没存的改动,加个感叹号写成 :q! 丢弃,或者 :wq 存了再退就行。

移动光标:手不离开主键区

vim 让你不用碰方向键。最核心的是 hjkl 四个键:h 在主排键最左边,向左;l 向右;j 像钩子往下挂,向下;k 向上。一开始别扭,一周后你会回不去方向键。

往上一层是按词和按行跳:

  • w 跳到下一个词开头,b 跳回上一个词。
  • 0 跳到行首,$ 跳到行尾。
  • gg 跳到文件开头,G 跳到文件结尾。

这几个组合起来,你不用一格一格挪,光标想去哪基本一步到位。

编辑:删、复制、粘贴、撤销

进了 normal 模式才能用这些编辑命令,它们是 vim 真正快的地方:

  • x 删一个字符,dd 删整行(注意是剪切,不是真删)。
  • yy 复制整行,p 在下面粘贴。
  • u 撤销,Ctrl+r 重做。
  • . 重复上一次修改,这是 vim 最神奇的一个键。

这里有个常见的坑:dd 看着像删,其实是剪切,删掉的内容进了默认寄存器。所以万一删错了,按 u 撤销,或者 p 把刚删的粘回来就找回来了。

查找和替换:一条命令改全文

举个真实例子。评审让你把一个变量名 oldName 在 40 行里全改成 newName,手动改 40 次又慢又容易漏。vim 里一条命令搞定:

:%s/oldName/newName/gc

拆开看:% 是全文范围,s 是替换,g 表示一行里所有匹配都换,c 表示每处都问你一次 y/n。这样这 40 处会逐个弹出来让你确认,绝不会误伤你本想留下的子串。如果你确定不需要逐个确认,去掉 c 就是无脑全换。

单纯查找用 /关键词 回车,按 n 跳下一个,N 跳上一个。查找和替换是 vim 在批处理文本上碾压鼠标编辑器的地方。如果你的批量改动更偏文本流处理,正则那套语法可以配 /zh/t/regex-cheatsheet/ 一起查。

新手该按什么顺序入门

我自己带过几个完全没碰过 vim 的同事,最有效的顺序不是从头啃手册,而是分三波,每波都真用上了再学下一波。

第一波保命,只记四个键:Esc、i、:、:q,能开文件、打字、存、退就够了。第二波学移动:hjkl、w/b、0/$、gg/G,光标能自由动起来。第三波学编辑:x、dd、yy、p、u,能真正改东西了。搜索、寄存器、宏、分屏、折叠这些先放着,没遇到实际需求就硬学,正是大多数人觉得 vim 太难放弃的原因。整个起步套餐加起来大概 15 个命令,一个下午就能上手。

记不住怎么办?最快的办法是按场景查,而不是背全表。打开 /zh/t/vim-cheatsheet/,搜索框跨命令、说明、记忆法、例子四个字段实时过滤,搜「剪贴板」直接命中 "+ 寄存器那条,点分类胶囊一键缩小范围。每条命令旁边都有复制按钮,查到就能直接拿走用。把 vim 速查跟 /zh/t/git-cheatsheet/ 放一起,开发者每周都要 Google 的那点语法基本就齐了。


Made by Toolora · Updated 2026-06-13