分类:编程与开发(programming)· 单视频深度解读
在程序员的世界里,有一类视频的特殊价值不在于“讲得多”,而在于“递钥匙”——它用最短的时间,把一扇五十年都没关上的大门推开一条缝,剩下的路要靠这篇解读替你走完。Fireship 频道的「Vim in 100 Seconds」正是这样一条钥匙型视频:一百秒,讲不完 Vim,但足够讲清它最反直觉、也最伟大的那件事——模态编辑。本文把这条百秒短片拆开,补全它背后五十年的编辑器谱系,再审一遍“Vim 让人效率翻十倍”的都市传说。没看过视频你能看懂全部脉络,看过视频你会知道那100秒里每个镜头的来龙去脉。
| 项目 | 内容 |
|---|---|
| 标题 | Vim in 100 Seconds |
| 中文直译 | 100秒速览 Vim |
| 频道 | Fireship(主理人 Jeff Delaney,开发者科普头部频道,订阅量百万级) |
| 发布时间 | 2021年(据频道页面,未实时核验) |
| 时长 | 约100秒 |
| 播放量 | 数百万级(频道常青爆款,历年累计,未实时核验) |
| 链接 | YouTube 站内搜索标题即可到达(检索入口见文末参考来源) |
Fireship 是这几年开发者圈最成功的知识短视频频道之一,「XXX in 100 Seconds」系列把一门技术压进一百秒,先给你一张“概念素描”,想知道细节的观众自然会去深挖。这条 Vim 视频就是该系列的代表作之一:它像一个极简主义的导游,带你进门、指给你看四根柱子,然后说“剩下的自己逛”。本栏目此前深读过的多堂“神课”(四分钟讲崩 JS 的 Wat、2013 年的时区神课、2014 年的事件循环神课)都是这种“短小但地位超然”的经典——它们的真正价值,是值得后人用十倍篇幅去展开的骨架。
一百秒的视频,按镜头顺序其实是一条严密的论证线,共五层主张。
主张一:编辑器有两种姿势,而不是一种。 视频开场就点破了 Vim 最劝退、也最核心的设计:模式(mode)。普通编辑器只有一个模式——你敲键盘就是输入文字;Vim 把“输入”和“操作”拆成了两个独立模式:插入模式(Insert)负责打字,普通模式(Normal)负责移动、删除、复制、搜索。这个设计在 2021 年看依然离经叛道,但它是理解一切 Vim 行为的钥匙:新手之所以会被 Vim “困住”,正是因为他们在普通模式里疯狂打字,敲出来的字母全变成了命令。视频用一句话讲清了这个坑:先分清你在哪个模式,一切恐惧自然消散。
主张二:移动是第一公民,手不许离开主键位区。
接着镜头扫过那套著名的方向键:h j k l——左、下、上、右。不看鼠标、不伸手去够方向键,手指全程停在主键位区。视频还演示了词级移动 w(下一个词)、b(上一个词)这类“以语义为单位跳跃”的移动方式。这是 Vim 哲学的前半句:你要去的地方是“结构”,不是“第几列第几行”。普通编辑器里你按三十次右方向键,Vim 里你按一次 w。
主张三:操作是一门可以造句的语法。
这是全片信息密度最高的一分钟:删除整行 dd、删除两个词 d2w、改写引号里的内容 ci"。注意这些不是一百个孤立的快捷键,而是一个语法系统:动词(d 删除、c 修改、y 复制)+ 数词(2)+ 名词(w 词、" 引号内、p 段落),组合出无穷的句子。学会十几个词根,就能读懂上千个没背过的命令。这是 Vim 五十年不死的真正原因,也是视频真正想让你带走的东西——它不是快捷键表,是一门语言。
主张四:编辑器是可以被改造的工作台。
镜头随后扫过 .vimrc 配置文件、插件与宏:记录一套按键、回放到一千行上。Vim 的世界观里,编辑器不是厂商给你定义好的产品,而是一块你自己长出来的工具。宏(macro)这一段演示尤其有代表性:把重复劳动“编程化”,用一次录制换取无限次回放——这正是程序员思维对日常操作的一次小小收编。
主张五:一百秒讲不完,但钥匙已经给你。 片尾 Fireship 提到了 Neovim 与现代生态,配上一句该频道标志性的玩梗式收束。这句收尾其实很诚实:这条视频的价值是预告片,不是教程。它负责让你在三十分钟内建立正确的概念框架,避免你打开 Vim 后在普通模式里手足无措地乱敲——绝大多数“Vim 劝退事件”,都发生在概念框架缺席的情况下。
从 ed 到 vi:慢终端逼出来的效率宗教。
Vim 的血统要追溯到 1969 年 Ken Thompson 在 Unix 上写的行编辑器 ed。1975 年前后,George Coulouris 在 ed 基础上改进出 em——他自己戏称 ed 是“为神写的”,em 是“editor for mortals”(给凡人的编辑器)。1976 年,伯克利的 Bill Joy 把 em 扩展成 ex,又给 ex 加了一个全屏可视模式,起名 visual——这就是 vi。两件轶事解释了 vi 为什么长这样:其一,Bill Joy 用的 Lear Siegler ADM-3A 终端,方向键就印在 h j k l 四个键上;其二,当年的终端慢得可怜,命令必须短到极致。hjkl 不是玄学,是硬件考古的活化石——它提醒你:所谓“反直觉的设计”,往往是另一个时代的物理约束封存至今。
Vim:一个慈善软件的三十二年长跑。
1991 年,荷兰程序员 Bram Moolenaar 在 Amiga 平台上发布了 Vim(最初意为 Vi IMitation,后改为 Vi IMproved)。Vim 有个全世界软件里罕见的设定:它是 charityware(慈善软件)——免费使用,但作者请求你捐助乌干达的儿童救助项目 ICCF Holland,这个传统写进了 Vim 的官方文档(:help uganda),持续了三十多年。2022 年发布 Vim 9 后,Bram 于 2023 年 8 月猝然离世,Vim 由社区接续维护。一个人用三分之一世纪维护一个编辑器,这在软件史上是孤例级别的故事。
Neovim 与理念的后裔。 2014 年,社区因补丁接纳机制等问题从 Vim 分叉出 Neovim,后来把 Lua 定为配置语言、把语言服务器协议(LSP)内建进核心,成为新一代主力。理念层面,模态编辑的血脉更是四处开花:VS Code 的 Vim 键位插件、JetBrains 的 IdeaVim、近年 Rust 写成的 Helix 与受其影响的 Kakoune(干脆把“先选中、后操作”的顺序反了过来)——你可以不用 Vim 这个编辑器,但 Vim 的键位和语法已经成了行业默认接口。连最新的 AI 编辑器也要内置 Vim 模式,因为顶尖用户用真金白银投了票。
“怎么退出 Vim”:一条百万级访问的公共记忆。 Stack Overflow 上的提问「How do I exit the Vim editor?」累计访问量以百万计,是程序员社区最著名的公共梗之一——以至于有团队拿“你会不会退出 Vim”当面试玩笑。这个梗的另一面恰恰是本文主张一的反证:一个不教模式概念的产品,会把最聪明的用户关在门外。Fireship 这条百秒视频最大的功德,就是用一分钟把这道门焊开了。
组合性:与 Unix 哲学同源的设计思想。 “动词+名词”的可组合语法,本质上和 Unix 的管道哲学一脉相承:小工具、小动词,组合出复杂行为。Bram 本人在《Seven habits of effective text editing》一文里系统阐述过这套方法论——把编辑当编程:识别重复模式,抽象成命令,再组合。这也是为什么很多资深工程师说“学 Vim 学的不是编辑器,是一种观察文本结构的眼睛”。
真实成立的部分: 模态编辑、操作语法、宏与可配置性,都是可验证的设计事实;Vim/Neovim 键位在各类编辑器中的普及也是有目共睹的生态证据;hjkl 与 ADM-3A 的渊源、ed→em→ex→vi 的谱系,均有 Vim 官方文档与当事人的公开记述支撑。
被夸大的部分: “Vim 让你效率翻倍/十倍”是社区传说,没有像样的对照研究支撑。真实的收益来自三件事的组合——手不离主键位区、以语义为单位移动、操作可组合——但收益大小极度依赖个人工作内容。如果你的日常是读代码多、改代码少,或者大量时间在开会写文档,Vim 的边际收益会小得多。
常被忽略的成本: 数周的肌肉记忆阵痛期是真实存在的,低频编码者未必划算;Vim 生态的配置碎片化(Vimscript 的历史包袱、Vim 与 Neovim 的分叉)也在持续消耗后来者的耐心——这正是 Neovim 用 Lua 重建配置层、Helix 干脆“零配置开箱即用”的原因。
对这条视频本身的审查: 一百秒当然学不会 Vim——但它的定位本就不是教程而是钥匙。真正要提防的是观众由此产生的两个误会:其一,“背了这几个键=会了 Vim”(实际要学的是语法组合思维);其二,“Vim 键位=必须换掉现有编辑器”(在任何主流编辑器里装键位插件,都能获得八成收益)。
1. 花 30 分钟跑一遍 vimtutor,而不是搜教程。
任何装了 Vim 的机器上,终端敲 vimtutor 就能打开官方交互教程:半小时,七个课节,覆盖模式切换与基本语法。它是被严重低估的最佳入门——比视频 System,比文档亲切,而且是官方自带。
2. 渐进式迁移:在现有编辑器里开 Vim 键位,每周只解锁一招。
不要一上来就跳进终端 Vim。在 VS Code 或 JetBrains 里装键位插件,第一周只用 hjkl 和 w/b;第二周加上动词 d/c/y;第三周解锁文本对象(ci"、di(、yap)。把学习成本摊到四周,让每一招都长进肌肉里,而不是躺在收藏夹里。
3. 学“造句”,别背“单词表”。 每次想完成一个编辑动作时,先用语法造句:动词+数字+名词。三个月后你会发现,真正学会的不是几百个快捷键,而是十几个词根——以及一种把重复劳动抽象成命令的思维。这个思维在 AI 帮你写代码的时代反而更重要了:生成的代码越多,需要人来审、来改的地方就越多,而“改”的速度,恰恰取决于你的编辑器功夫。
flowchart TD
A["ed:1969<br/>Ken Thompson"] --> B["em:1975<br/>给凡人的编辑器"]
B --> C["ex:1976<br/>Bill Joy 扩展"]
C --> D["vi:1976<br/>ADM-3A 上诞生"]
D --> E["Vim:1991<br/>Bram Moolenaar"]
E --> F["Neovim:2014<br/>Lua 与 LSP 内建"]
F --> G["现代模态生态<br/>LazyVim / Helix 等"]
E --> H["键位四处开花<br/>VSCodeVim / IdeaVim"]
D -.-> I["硬件化石<br/>HJKL 即方向键"]
vimtutor——你机器上可能已经装好的官方 30 分钟交互教程,读完本文后最好的下一步。:help uganda 慈善软件说明与官方文档本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
