32年,他把一个编辑器留给了全世界……
你敲完最后一行代码,按下ESC,输入:wq,回车。
文件保存,Vim退出,一切如常。
就像过去的无数个夜晚一样。
但2023年8月3日之后,这个简单的命令,突然有了新的含义。
那一天,Vim的作者Bram Moolenaar因病去世,享年62岁。
全世界数百万程序员还在继续用:wq保存退出,但这一次,他们知道,这个守护Vim 32年的人,已经永远地执行了他人生最后一次:q。

01
一个荷兰程序员的副业
1991年,互联网还是个新鲜玩意儿,Windows 3.0刚刚发布,大部分程序员还在用DOS。
Bram Moolenaar是荷兰的一名程序员,在Amiga电脑上工作。Amiga是当时很流行的个人电脑,但它没有一个好用的文本编辑器。
Bram很喜欢Unix系统上的Vi编辑器,但Amiga上没有。
他做了一个决定:自己移植一个。
没错,就是这么简单的初衷。

他花了几个月时间,写出了第一版Vim(Vi IMproved,改进版的Vi)。
1991年11月2日,Vim 1.14发布。
这是一个完全免费的开源软件,Bram把它放到了网上,供所有人使用。
当时谁也没想到,这个副业项目,会陪伴他接下来的32年。
02
32年:从业余爱好到终身使命
Vim迅速在程序员圈子里流行起来。
为什么?
因为它真的好用。
相比原版Vi,Vim增加语法高亮、多级撤销、分屏编辑、插件系统……这些在今天看来理所当然的功能,在90年代是颠覆性的。
Vim保留Vi的核心哲学:用键盘完成一切操作,不需要鼠标,效率极高。
学会Vim的人,几乎不会再换其他编辑器。
不是因为Vim完美,而是因为,一旦你的手指记住了那些命令,你就再也回不去了。

Bram开始全职维护Vim。
注意,是全职。
他没有像很多开源作者那样,把项目扔给社区,自己去创业或者加入大公司。他一直在维护,一直在更新,一直在回复用户的问题。
32年,超过8000次commit,数不清的bug修复,无数次版本迭代。
他图的是啥呢?
Bram从来没有把Vim商业化。Vim始终是免费的,代码完全开源。
他唯一的商业行为,是在Vim的启动界面放了一行提示:
Help poor children in Uganda!(帮助乌干达的贫困儿童!)
是的,Bram长期支持乌干达的一个儿童慈善项目ICCF Holland。他把Vim用户的捐款,全部用于帮助乌干达的孤儿。
这是一个彻底的理想主义者。
03
他留下的遗产
2023年7月,Bram提交了他人生中最后一次commit。
一个月后,他去世了。
Vim社区震惊了。
因为直到去世前一个月,Bram还在更新代码。很多人甚至不知道他病了。
他就这样,默默地守护了Vim 32年,然后悄然离开。
Vim现在有多重要?
全球数百万程序员在使用Vim,或者使用Vim模式的编辑器(VS Code的Vim插件有超过500万下载量)。
几乎所有Linux服务器上都预装了Vim。
无数技术公司的面试,会问你会用Vim吗?
Vim不仅仅是一个编辑器,它是一种文化,一种信仰,一种用键盘征服世界的程序员美学。

让人感动的是,Vim的许可证非常特殊。
它不是MIT,不是GPL,而是Vim License,一个Bram自己写的协议。
协议的核心内容是:你可以自由使用、修改、分发Vim,但如果你觉得Vim有用,请考虑捐款给乌干达的儿童。
这就是Bram。
他从来没想过靠Vim赚钱,他只想做一个好用的编辑器,然后顺便帮助一些孩子。
04
全世界程序员的告别方式
Bram去世后,Vim社区发起了纪念活动。
很多人在终端输入:help uganda,打开Vim的帮助文档,看到Bram写的那段关于乌干达儿童的介绍。
有人在GitHub上发起了募捐,短短几天就筹集了数十万美元,全部捐给了ICCF Holland。
有人在社交媒体上分享自己学Vim的故事,回忆第一次用:wq保存文件时的激动。
有人说:我每次用:wq,都会想起他。

是的,:wq。
这是Vim最常用的命令之一:保存(write)并退出(quit)。
程序员每天要用无数次:wq。
写完一段代码,:wq。
改完一个bug,:wq。
完成一天的工作,:wq。
但现在,:wq有了新的含义。
它不再只是保存并退出,它是一种告别,一种致敬,一种对Bram的纪念。
每一次:wq,都是在说:
谢谢你,Bram。
谢谢你留下的这个工具。
谢谢你守护了32年。

05
结语
Bram走了,但Vim还在。
每天,全世界数百万程序员打开Vim,敲下:wq。
他们不知道的是,这个简单的命令,连接着一个荷兰程序员32年的坚守。
:wq不是结束。
是传承。
* 本文图片来源于网络,仅用于技术交流分享,如有侵权请联系删除
夜雨聆风