8月5日,Vim 项目的 BDFL、Vim 之父 Bram Moolenaar 的家人发布讣告,为全世界开发者带来了一个悲伤的讯息——我们怀着沉重的心情通知您,在过去几周内Bram Moolenaar 因病情迅速恶化,于 2023 年 8 月 3 日离世,享年 62 岁。
所有使用过Vim的人都知道Moolenaar的慷慨之处。几十年前,Moolenaar首次提出了慈善软件的概念,并积极推广至全球。至今,Vim用户仍能通过输入命令:helpUganda或:helpICCF来查看许可证。每位注册捐赠至少10欧元的Vim用户和赞助商将有机会投票支持新功能。
在他的创始许可证中,Moolenaar写道:“Vim是一款慈善软件,您可以自由使用和复制。”
就在去年的2月20日,Vim项目的一位重要维护者SvenGuckes在柏林不幸离世。当时Moolenaar发布了一封邮件,表达了对这位知音的痛惜,并宣布将把Vim的下一个重要版本9.0献给他。
令人遗憾的是,今年Moolenaar与朋友一同辞世,这对整个开发社区来说是一个巨大的损失。仅在一个月前,Moolenaar还在不断地更新和修改Vim。这两次逝世让Vim社区陷入了悲痛之中,重要的维护者和创始人相继离去,留下了难以填补的空白。
“独一无二”的编辑器
BramMoolenaar出生于1961年的荷兰,24岁时毕业于代尔夫特理工大学并获得电气工程学位。1988年,BramMoolenaar购买了一台Amiga电脑。因为习惯使用Vi进行编辑,所以他在Amiga上寻找了类似Vi的程序。
Moolenaar尝试了Vi的许多“克隆”版本,但没有一个符合他的要求;因此他选择了其中最优秀的并开始改进。初始阶段,Moolenaar的主要目标是让其具备Vi的全部功能。随后,他逐步增加了一些额外功能,比如多级撤销。
1988年,Moolenaar在Amiga的公共域磁盘集合(由FredFish制作)上发布了一个Vim版本(当时还被称为“ViIMitation”)。发布后受到积极反响,逐渐开始有人发送补丁给Moolenaar,还有人努力将Vim移植到其他平台,比如MS-DOS和Unix。
最早,Vim只是Moolenaar自己用的。过了一段时间,他觉得Vim对其他人也很有用,就把它分享到世界各地。从那时起,Moolenaar开始更加努力地让这个程序适应更多的开发者。他曾经说过:“创造有用的东西很有趣。而且,还有很多优秀的共同作者和高级用户,这真的很让人振奋。”
因此,Moolenaar不断增加更多的功能,直到1.22版本,Vim已经包含比Vi更多的功能。于是,Moolenaar决定将其名称从“ViIMitation”改为“ViIMproved”。随着时间的推移,代码进行了无数次的重新设计和扩展,以至于原始的“克隆”版本Vi几乎没有得到保留。
Moolenaar曾经总结Vim的优点为:
- 无限制的行长度,允许 NUL 字节:可以编辑任何文件,包括二进制文件。
- 多级撤消和重做:无需担心在意外打开大写锁定时破坏文件。
- 多窗口和缓冲区:同时编辑多个文件,在它们之间复制文本。
- 语法高亮:快速理解文本的结构并发现错误。
- 命令行历史和自动完成:更正拼写错误,调用旧命令,快速输入长文件名。
- 删除和插入矩形文本区域:编辑表格。
- 错误消息解析:运行编译器并立即跳转到发现错误的位置。
- 带超链接的在线帮助:查找任何命令的全面文档并跳转到相关主题。
- 强大的脚本语言:添加自己的扩展功能。
Vim已经成为很多程序员生活中不可或缺的一部分。也正因此,很多网友在社交平台发布了悼文。即使在编辑器领域最初的"圣战"之一-Emacs与Vi的竞争中,那些坚持自己选择的编辑器是完美典范的人,也对Moolenaar这样一个“天才”的离世感到惋惜。
享誉无数的“慈善软件”
Vim作为一个开源软件,允许用户免费使用并自由传播。尽管如此,很多经常使用Vim的人仍然希望以某种方式回馈Moolenaar的工作。因此,他提出了慈善软件的理念。
慈善软件的基本理念是鼓励每个使用Vim的用户向慈善机构做出捐赠。因此,使用Vim是免费的,但如果有用户认为Vim的使用价值是可以付费的,就可以选择将这些费用捐赠给慈善机构。
Moolenaar在构思之后,开始挑选合适的慈善机构——荷兰国际儿童保育基金会(ICCFHolland)。
1994年,Moolenaar曾担任乌干达南部一个项目的志愿者,该地区严重受到艾滋病的影响,成年人中有约10%到30%被感染。许多家庭的父母离世,只剩下他们的孩子。该项目通过多种方式帮助这些需要帮助的孩子,为他们寻找新家,确保他们接受教育,并获得个性化护理。
Moolenaar从乌干达回来后,心思仍留在那个地方。他决定通过筹款的方式继续支持这个项目。因此,他开始呼吁Vim的用户考虑为乌干达的孤儿捐赠。他还创建了一个收养计划,用户可以为一个孩子提供经济支持,使孩子能够长期受到帮助。由于他们只与志愿者合作,并且将资金直接发送到项目中,所以几乎所有筹款都真正用于乌干达。
Moolenaar的努力开始得到回报,ICCF的筹款金额不断增加,Vim也开始获得多个奖项,并被视为最受欢迎的文本编辑器之一。
LinuxJournal的读者在2001年至2005年期间将Vim评选为他们最喜欢的文本编辑器。
Vim在1999年被评为LinuxWorld“编辑的选择”奖的决赛入围者。这个奖项是由Vim的开发者WichertAkkerman在LinuxWorld会议上宣布。
在2000年2月的纽约LinuxWorld博览会上,Vim荣获了“开源文本编辑器”类别的SlashdotBeanie奖提名。
然而,对于Moolenaar来说,最令他自豪的是在2008年获得荷兰Unix用户团体(NLUUG)颁发的奖项。NLUUG是荷兰的一个Unix用户组织,今年他们已经成立了40年。之前获得该奖项的人还包括Python之父GuidovanRossum和荷兰互联网先驱PietBeertema。Moolenaar在他个人主页上表达了对于获奖的喜悦之情。
Moolenaar是一个源自荷兰的姓氏。它指的是从事操作磨坊(通常是风车)的职业。在过去,荷兰有很多风车,它们被用来从湾田中抽水、磨面粉、锯木头。靠着风的力量,这片土地度过了一段繁荣的岁月。
然而,时间不停地前进,今天荷兰风车的光芒逐渐黯淡,取而代之的是现代科技的轮廓。在这个智能时代,Moolenaar通过他的代码展现了另一种风景。就像他的名字所暗示的那样——他是那个控制数字时代的"风车"的人,Moolenaar的铭志也因此值得被传承。
幸运的是,Vim项目将会继续由开源开发者们持续运作。
在得知Moolenaar辞世的消息后,项目的长期贡献者ChristianBrabandt发表了一篇帖子,他在表达对此事的震惊和悲伤之余,也宣布将与其他贡献者共同继续推进该项目。