首页 › programming › Vim神课:100秒与50年

Vim神课:100秒与50年——Fireship「Vim in 100 Seconds」深读

分类:编程与开发(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 帮你写代码的时代反而更重要了:生成的代码越多,需要人来审、来改的地方就越多,而“改”的速度,恰恰取决于你的编辑器功夫。

Mermaid:模态编辑五十年谱系

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 即方向键"]

延伸阅读

  1. Bram Moolenaar《Seven habits of effective text editing》——Vim 之父亲笔的编辑方法论短文,本文“语法组合”思想的原始出处。
  2. vimtutor——你机器上可能已经装好的官方 30 分钟交互教程,读完本文后最好的下一步。

参考来源

  1. Vim in 100 Seconds — YouTube 检索入口 — 本文解读的主视频,Fireship 频道出品;主上传页请以频道站内搜索为准,本环境未实时核验播放数据
  2. How do I exit the Vim editor? — Stack Overflow — 程序员社区最著名的提问之一,累计访问量以百万计
  3. Vim 官网 — 含 :help uganda 慈善软件说明与官方文档
  4. Seven habits of effective text editing — Bram Moolenaar — Vim 之父的编辑方法论原文
  5. Neovim 官网 — 2014 年分叉的现代继任者,Lua 配置与内建 LSP

本文由「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 等场景全覆盖。

51学通信知识星球海报-扫码加入