资讯动态

Vim 新手 30 分钟生存指南:从打开文件到保存退出

发布时间:2026/10/13 10:55:16 来源:尧图企业网站定制
别被 Vim 吓住。它背了十几年的“新手劝退师”名声网上到处是“我在 Vim 里退不出去只能关终端”的段子。但说句公道话Vim 并不需要你花三个月系统啃一遍它更像一把有脾气的瑞士军刀上手会有一段磨合期但只要掌握几个基础动作你日常用到的功能占比极小完全可以在 30 分钟里学会保命所需的那 20%。这篇 Vim 新手 30 分钟生存指南只做一件事带你走通“打开文件、移动光标、修改内容、保存退出”这条完整流程中途不迷路、不把文件搞坏。适合刚接触 Linux 服务器要改配置的人也适合所有被迫在终端里编辑文件的开发者和运维同学。看完这篇你不需要记住几百条命令能活着把活干完就算成功。1. 先弄明白 Vim 为什么要“模式化”1.1 Vim 的底层逻辑按下键盘不等于输入文字第一次打开 Vim 的人几乎都会有一个瞬间我明明按了“h”屏幕上怎么没显示 h反而光标在动这就是 Vim 和普通编辑器最大的区别——它是模式化的。普通编辑器是“按下字母输入字母”Vim 是“按下字母执行命令”只有切换到插入模式之后按键才表示输入文字。这个设计一开始非常反直觉但理解之后就很好用。你可以把 Vim 想象成一个遥控器普通模式是遥控器的控制界面按“音量”“频道-”是在操作电视插入模式才是真正的“键盘输入状态”。日常改代码、改配置时你要频繁执行“移动几行、删个词、跳到行尾再加个分号”这类动作如果每次都把手挪到鼠标上再点回去效率就浪费了。Vim 把高频操作全部压在主键盘区手指不需要离开按键基准位置长期用下来确实省力。刚开始可能不习惯的是普通模式下几乎所有字母键都有含义比如 j 是向下移动、k 是向上移动、x 是删除字符。这也意味着你随便按键盘不会“打出字”来反而会触发各种命令。所以生存指南的第一个要点不是“背命令”而是建立模式意识按键盘之前先问自己一句“我现在在哪个模式”。1.2 模式切换是生存的第一道门新手只需要记四个模式普通模式Normal进入 Vim 后的默认状态插入模式Insert真正打字的状态可视模式Visual用来选中文本命令行模式Command-line用来输入 :w、:q 这类命令。模式之间的切换也很简单普通模式下按 i 进入插入模式按 v 进入可视模式按 : 进入命令行模式而不管你身处哪个模式按 Esc 都能回到普通模式。我把 Esc 叫作安全出口因为它真的是“万能回退键”。如果你发现自己输入字符没反应或者屏幕上出现了一堆奇怪的东西最保险的做法就是连按几下 Esc回到普通模式再说。为什么要设计成这样绕弯子的结构因为对高频操作来说普通模式能让手指一直放在字母区不需要去够方向键或者鼠标代价就是新手期要额外记一套“按键语义”。30 分钟生存指南不会让你记全部命令你只要先记住上面这几个模式开关就已经解决了 90% 的“卡住”问题。2. 30 分钟必须记住的核心操作2.1 进入与退出先把“门”找着打开文件用 vim 命令后面跟文件名vim notes.txt。如果这个文件不存在Vim 会认为你要新建它编辑后保存时才会真正创建。这个很好理解问题几乎都出在退出上。很多人第一次进 Vim在里面按了半天发现又按不出字又退不出去原因就是当前在普通模式字母按键都被当作命令了。标准退出流程是先按 Esc 确认回到普通模式然后输入 : 进入命令行模式再输入 q 回车。如果文件有修改还没保存直接 :q 会看到底部提示 E37: No write since last change意思是“有更改没写盘不允许直接退出”。这时要么 :wq 保存并退出要么 :q! 放弃修改强制退出。几个退出命令的区别要记牢:q 退出未修改的文件。:q! 不保存强制退出适合改乱了又不想继续救的情况。:wq 保存并退出也可以按大写 ZZ。ZQ 不保存直接退出相当于 :q! 的快捷键。我实际操作中最顺手的是 :wq 或者 ZZ。ZZ 要在大写锁定打开时按或是按住 Shift 按两次 z如果手快按成小写 zzVim 不会退出只是把光标向下一行移动看着像没反应其实对文件也没有伤害不用紧张。2.2 移动光标别再用方向键硬扛移动是生存的第二大核心。h j k l 分别代表左、下、上、右h 在最左边l 在最右边j 像向下的钩子k 像向上的旗杆这样联想记忆很快。普通模式下按一下光标移动一个字符或一行。即使你的终端方向键也能用我也建议新手上手就用 h j k l因为这是 Vim 所有复合命令的地基手不离键效率完全不同。除了基础移动这几个定位命令一定要会0 到行首$ 到行尾^ 到行首第一个非空字符。w 和 b 按单词跳w 向后一个单词b 向前一个单词。gg 跳到文件第一行G 跳到文件最后一行数字加 G 可以跳到指定行比如 42G 跳到第 42 行。H M L 分别是跳到屏幕顶部、中间、底部配合 Ctrlu / Ctrld 上下翻半屏Ctrlb / Ctrlf 前后翻页。移动命令是 Vim 的“地图系统”。不要试图背全部先记住 gg、G、0、$、w、b、Ctrlu、Ctrld 这一组日常改文件已经非常够用。等这些熟练之后你自然会发现一个更高级的用法移动可以和操作组合比如 d$ 表示“从光标位置删除到行尾”d 是删除动作$ 是移动范围这种“动作范围”的语法会让你后续学任何命令都变得很快但第一遍不用强记。2.3 删除与编辑改内容才是来干活的移动到位之后就是改内容。先记最基础的三板斧x 删除光标所在字符dd 删除整行u 撤销最近一次修改。想重做刚才撤销的操作按 Ctrlr。这三板斧能覆盖大多数误操作。插入模式的入口也要记全它们是不同的“落笔位置”i 在光标前插入。I 在行首插入。a 在光标后插入。A 在行尾插入。o 在下方新开一行并进入插入模式。O 在上方新开一行并进入插入模式。这里最容易混淆的是 I 和 OI 是行首插入O 是上方新开一行。不要死记字母按含义理解整组命令就顺了iinsert插入aappend追加oopen new line新开一行。理解了以后你看到一个命令就能猜出大概作用而不是靠背。初学阶段我建议把 x、dd、u、Ctrlr、i、A、o 这几条练熟。改配置文件时一个很典型的生存循环是用 jj 或 gg G 移动到目标行dd 删掉整行按 o 新开一行输入新内容Esc 回到普通模式最后 :wq 保存退出。这一套下来你已经能在服务器上独立完成修改任务了。2.4 保存、放弃与即时反馈上面已经提到了保存退出这里单独说说“边写边存”的习惯。在 Vim 里按 : 进入命令行模式输入 w 回车就是保存不退出输入 w 后面加文件名可以另存为比如 :w backup.conf 会把当前内容写成一个备份文件。强烈建议新手在完成每个小阶段的修改后立刻 :w。因为 Vim 的撤销历史虽然理论上没有上限但如果你误操作了很多步一次一次按 u 回退也很痛苦。保存一次就相当于给自己建立了一个安全点。如果改到一半发现思路完全错了别硬着头皮继续直接 :q! 退出再重新打开文件回到上次保存的状态重来反而更快。还要纠正一个心态别总想着“我直接在本地改好再传上去”。Vim 在命令行环境里几乎无处不在远程开发、改服务器配置、写脚本你不可能每次都打开图形界面编辑器。学会保存和放弃文件就永远在你的掌控范围内不会因为一次误操作丢掉重要内容。这也是 30 分钟生存指南真正想让你获得的能力不是炫技而是放心地把文件交给 Vim 处理。3. 实操记录一个真实的 30 分钟练习流程光列命令没有用跟着走一遍才会形成肌肉记忆。下面这个流程我给同事培训时反复用过按 30 分钟排好了顺序你完全可以照着操作。顺便说一句Vim 自带的 vimtutor 就是最好的官方教程会一步步带你在真实环境里练习如果你手边有终端输入 vimtutor 回车就能进入。这里的流程相当于 vimtutor 的加速精简版只保留生存必需。3.1 第 0 到 5 分钟先学会“打开”和“退出”先建一个练习文件在命令行里执行 touch practice.txt然后用 vim practice.txt 打开。进入之后屏幕应该是空的底部显示 practice.txt [New]。这时候按 i底部会变成“插入”状态你输入文字时内容会出现在光标位置。随便打几行字比如你好这是我的 Vim 练习文件。 第二行实验一下移动。 第三行实验一下退出。打完按 Esc 回到普通模式。这里如果你直接按 :qVim 会因为文件有未保存的修改而提示 E37。不要慌这正是预期的Vim 在提醒你有更改没有落盘。此时要么按 :q! 放弃本次编辑让这个文件不真正生成要么按 :wq 保存并退出。我的建议是练到这里用 :wq因为后面还要继续用这个文件做实验。3.2 第 5 到 15 分钟从移动光标到修改内容重新用 vim practice.txt 打开文件这次练习定位和修改。先按 gg 回到第一行再按 j 向下移动两行按 $ 跳到行尾按 A 在行尾追加文字随便加一句“追加的内容”Esc 回到普通模式。这整个流程你都没碰鼠标、没碰方向键这就是 Vim 的基本工作状态。接着练删行把光标移到某一行的任意位置按 dd 删除整行再按 u 撤销回来。多试几次 dd、u、dd、u 的组合感受“删除”和“撤销”的闭环。再试一下单词跳转用 w 和 b 在文字之间跳动按 x 删除某一个字符按 i 在光标前插入新字符。中途如果发现自己多删了立刻按 Ctrlr 重做。这段练习的目的不是背参数而是建立“移动→编辑→撤销→重做”的肌肉记忆大概需要 10 分钟。这个阶段你会明显感觉到Vim 的真正优势是“不停下来”手指一直处于输入状态很少需要去够鼠标或方向键改一段配置比边点鼠标边打字流畅得多。3.3 第 15 到 25 分钟用搜索和撤销纠偏现在进入第二维度搜索定位。在普通模式下输入 /练习 然后回车Vim 会直接跳转到文件中出现“练习”的位置。按 n 跳到下一处按 N 跳回上一处。搜索的好处在于面对几百行甚至几千行的文件你不用一行一行翻输关键词就能精确到达目标附近。配合搜索做一个综合练习搜索“实验”这个词定位到其中一处后按 x 删除一个字符或者按 dw 删除整个词然后按 i 输入新内容。如果不小心改错了按 u 撤销即可屡试不爽。这个阶段还可以试试行号定位输入 :42 就能直接跳到第 42 行。如果你的文件有几千行这个命令比滚动条高效得多。搜索和行号是互补的一个按内容定位一个按位置定位两种都要会。3.4 最后 5 分钟把成果安全落盘练习结束后先按 :w 保存一次再检查一下文件内容是否是你想要的样子。确认没问题后按 :wq 保存退出。然后重新用 vim practice.txt 打开它看看上次写的内容还在不在。这最后一步是对整个流程的验证能打开、能修改、能保存、能再次打开你就已经跨过了 Vim 生存门槛。这里再分享一个安全习惯如果改到一半发现思路全错了不要强行继续直接 :q! 退出重新打开文件回到上次保存的状态。宁可牺牲几分钟重来也比把文件改得乱七八糟要好。我第一次使用 Vim 时就是舍不得那点改动硬着头皮往前改结果越改越乱最后还丢了内容得不偿失。3.5 30 分钟时间分配速查表时间段目标主要命令完成标志0-5 分钟学会打开和退出vim、i、Esc、:wq能创建文件并保存退出5-15 分钟掌握移动和基础编辑h j k l、gg、G、0、$、x、dd、u能定位到指定内容并修改15-25 分钟搜索定位和撤销重做/关键词、n、N、Ctrlr能快速跳转并放心撤销25-30 分钟综合保存和验证:w、:wq、重新打开确认能安全落盘并确认内容正确这个表是给你做训练计划的不要把每个命令当成高考考点一样背。今天学不完很正常第二天再花 10 分钟过一遍比一次性死记硬背效果好得多。Vim 的命令本质上是肌肉记忆靠的是频率不是强度。4. 新手最容易踩的坑我替你试过了4.1 卡在原地退不出去也保存不了这是最高频的一个问题没有之一。现象是在 Vim 里按了半天屏幕不出现文字或者按 q 没反应或者输入“:q”时屏幕只显示普通字符却无法执行。原因几乎都是“模式”错了你还在插入模式或命令行模式里按下的字母被当成了输入内容而不是命令。解决方案很简单连按两下 Esc确保回到普通模式然后再输入命令。所有模式下的应急出口都是 Esc实在慌乱就狂按 Esc 数下最多听到系统提示音不会对文件造成任何损害。另一个常见误区是修改过的文件直接 :q 会提示 E37很多人以为 Vim 坏了。其实不是Vim 只是按规则办事它不允许你直接退出并丢失修改必须由你明确选择 :q! 放弃或 :wq 保存。4.2 方向键失灵或蹦出 ABCD在某些终端里按方向键会变成 A、B、C、D或者干脆没反应这是因为终端对特殊键的转义序列处理方式不同Vim 对终端键盘映射的兼容性也参差不齐。最稳定的做法就是彻底不用方向键只用 h、j、k、l。开头几天确实别扭但一周之后你会感谢这个决定因为它同时逼你建立了 Vim 的操作习惯。如果你实在想调可以检查当前 Vim 是否处于兼容模式在配置文件里写入 set nocompatible 来缓解按键映射问题。不过这些都是后期优化新手阶段不用太纠结直接用 h j k l 脚踏实地更可靠。4.3 中文输入法让命令变成了“乱码”这个坑在中文环境里极其常见。你按 i 进入插入模式准备输入配置内容结果输入法停在英文状态敲出来的全是大写字母或者你切到中文输入法后想按 Esc 回普通模式接着输入 h结果屏幕上出现“的”而不是光标移动。输入法和 Vim 的“模式切换”叠加在一起很容易让人心态崩掉。解决办法很现实日常操作 Vim 时把系统输入法固定为英文状态需要输入中文时再切过去中文输完立刻切回英文再按 Esc 回到普通模式。我自己的习惯是进入插入模式前先在脑内确认一遍输入法状态。这个动作培养成条件反射之后比任何输入法自动切换插件都可靠。最怕的就是“半中文半命令”混合状态那才是真正的乱麻。4.4 打不开文件.swp 是哪里来的有没有遇到过打开文件时看到 Swap file already exists 的提示这是 Vim 的交换文件机制在起作用。每次编辑文件Vim 都会生成一个以点开头、以 .swp 结尾的同名隐藏文件用来保存编辑过程中的恢复数据。如果你上一次是异常退出比如终端被直接关闭这个 .swp 文件没被删除下次打开时 Vim 就会提示“交换文件已存在”。这时 Vim 会给你几个选项按 R 恢复最近一次自动保存的内容然后立刻 :w 保存并删掉交换文件或者按 D 直接删除交换文件重新开始但会丢失未保存的修改。我的经验是看到交换文件提示先别慌如果那个文件内容重要选 R 恢复如果不重要选 D 删除即可。千万不要拖着不处理否则可能出现两个编辑进程互相覆盖最后连 Vim 自己都分不清哪个版本是最新的。4.5 手滑把文件改动删了“咦我刚才那几行怎么没了”这几乎是所有人都会遇到的情况。诱因可能是误触 dd、x或者某些组合键触发了删除操作。遇到这种情况先别慌按 u 撤销一步不行就撤销多次直到恢复出来。如果撤销过了头再按 Ctrlr 重做回去。只要撤销能恢复说明你的内容没有丢只是 Vim 要求你用命令而不是 CtrlZ 来管理操作历史。更稳妥的习惯是在开始大改动之前先 :w 保存一个版本如果准备试一把破坏性比较大的修改先复制一份文件做备份比如 cp config.conf config.conf.bak。这样就算 Vim 内的撤销链断裂还有文件级备份兜底。我后来很少丢内容靠的就是“保存点备份文件”这套双保险。5. 30 分钟之后的下一步5.1 别急着背全命令先形成三个习惯30 分钟只能建立生存级的操作但真正拉开效率差距的是习惯。第一个习惯是一进文件先想“我要做什么操作”然后决定切换到哪个模式。第二个习惯小改动随改随存交替使用 :w 和 :wq。第三个习惯遇到不熟悉的处境先看底部状态栏、先按 Esc而不是乱按一通。这三个习惯比把命令背得滚瓜烂熟重要得多。我见过很多人一上来就想把 Vim 的所有命令背完结果两周就放弃了反倒是那几个天天在服务器上改配置的同事靠这三个朴素习惯慢慢超过了所有人。5.2 把 Vim 当成默认编辑器如果你经常在终端里工作强烈建议把默认编辑器设置为 Vim。很多系统工具会调用环境变量 EDITOR 指定的编辑器比如 git 提交、计划任务编辑、远程维护等。只要在配置文件里写上 export EDITORvim或者单独配置相应工具的默认编辑器以后这些场景就会自动使用 Vim。一开始会有点痛苦但硬着头皮用两周手指一定会记住那些键位一旦形成肌肉记忆再切回图形编辑器反而觉得别扭。这不是情怀是效率上的真实体验。5.3 一份我实际在用的命令小抄下面这份小抄从我刚学 Vim 用到现在高频又实用建议直接复制到自己的笔记里。这些都是生存级操作每一条都经过实际验证没有多余的花哨内容目的按键进入插入模式i / A / o返回普通模式Esc保存 / 退出:w / :wq / :q!撤销 / 重做u / Ctrlr删除当前行 / 删除字符dd / x行首 / 行尾0 / $跳文件头 / 文件尾gg / G搜索 / 下一个 / 上一个/关键词 EnternN显示行号:set nu行号定位:42到现在为止我日常编辑文件依然大量依赖这张小抄说不上多高深但它足够让我在远程服务器、代码仓库、配置文件之间来回切换时不慌。最后分享一个真实体会Vim 最难的从来不是命令有多少而是你愿不愿意在头几次别扭的练习里多按几次 Esc、多撤销几次。熬过第一次 30 分钟后面就是水到渠成的事。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑