欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Bram Moolenaar has died

1970/1/1技术杂谈

{
"category": "编程开发",
"title_cn": "Bram Moolenaar逝世:Vim之父的传奇人生与开源精神",
"content": "> Vim之父Bram Moolenaar于2023年8月3日去世,他的一生致力于Vim的开发与社区建设,留下了深远的技术遗产。

2023年8月5日,Vim官方邮件列表发布了一则令人悲痛的消息:Bram Moolenaar,这位创建了Vim文本编辑器并主导其发展数十年的传奇程序员,已于8月3日与世长辞。消息由其家人发布,简短却沉重。Bram生前患有一种疾病,最近几周病情急速恶化。他的家人正在荷兰筹备葬礼,仪式将以荷兰语进行。社区成员可联系指定邮箱表达哀思或咨询事宜。

对许多程序员而言,Vim不仅仅是一个编辑器,更是一种信仰、一种生活方式。而Bram的离世,无疑标志着开源世界一个时代的落幕。本文试图回顾Bram的人生轨迹、Vim的诞生与成长,以及他所留下的精神遗产。

从Amiga到Vim:一个编辑器的诞生

Vim的故事始于20世纪80年代末。那时,Bram Moolenaar在荷兰阿姆斯特丹的Atari ST计算机上使用一个名为Vi(Visual Interface)的编辑器——vi由Bill Joy于1976年在BSD Unix上编写,是老牌Unix系统编辑器的代表。然而,当时的vi缺乏许多现代编辑特性,例如多级撤销、窗口分割等。Bram在Amiga计算机上尝试使用vi的移植版——Stevie(ST's vi),但觉得它功能有限,于是决心自己动手改进。

1988年,Bram发布了Vim的首个版本,当时命名为“Vi IMitation”(vi的模仿品)。最初,它只是Amiga上一个轻量级的vi克隆,目标是完全兼容vi并添加一些扩展功能。到了1993年,随着功能不断丰富,Bram将Vim重新诠释为“Vi IMproved”(改进版vi),这个名字一直沿用至今。

Vim的核心哲学是“模式编辑”:普通模式(按命令操作)、插入模式(输入文本)、可视模式(选区操作)等,这使其在高效率文本操作上拥有无与伦比的优势。在无鼠标的终端环境或远程开发中,Vim成为许多程序员的首选。

Bram最引以为傲的,或许是Vim的脚本语言——Vimscript,它允许用户深度定制编辑器。后来,他更进一步将Lua等嵌入式语言引入Vim,使扩展性更强。这些特性让Vim不仅仅是一个编辑器,而是一个可编程的文本处理平台。

慈善软件:一种独特的开源理念

与许多采用Copyleft(如GPL)或Permissive(如MIT)许可证的开源项目不同,Vim使用了一种Bram独创的“慈善软件”(charityware)模式。Vim的许可证是“Vim License”,它允许自由使用、复制、修改和分发,但有一个额外要求:如果用户觉得Vim有用,则鼓励他们向乌干达儿童基金会(KCC)捐款,用于帮助乌干达的孤儿和贫困儿童。

这个理念起源于1991年,当时Bram阅读了关于乌干达孤儿问题的文章,深受触动。他决定将Vim的版权与慈善挂钩,既保证软件的自由,又引导用户行善。这种 license 在开源界极为罕见,但Bram坚持了许多年。他在《Vim用户手册》中明确写道:“如果你觉得Vim让你更有效率,请考虑帮助收养一个孤儿。”这一举动不仅帮助了数千名儿童,也让Vim社区融入了温暖的人文色彩。

Bram本人长期资助乌干达的两个儿童项目,并定期在其个人主页上更新慈善进展。他曾在采访中表示,Vim是他人生的一个重要部分,但帮助他人同样重要。这种“代码+公益”的模式,至今仍被许多开源项目效仿。

Vim社区与生态:从单打独斗到众人拾柴

Vim最初由Bram独立开发,但随着时间推移,社区贡献者日益增多。Bram以“终身仁慈独裁者”(BDFL)的身份管理项目,但他的管理风格被社区形容为“谨慎而开放”。他会认真审阅每一个补丁,并在多数情况下保留对核心架构的控制权。不过,他从不排斥新想法,许多现代特性如异步I/O、内置终端模拟器、插件管理器等,都是在社区讨论后逐步加入的。

截至2023年,Vim的GitHub仓库拥有超过30,000颗星,fork数超过45,000,贡献者超过800人。Vim的8.0版本在2016年发布,引入了异步I/O、作业控制、通道等功能,这被视为一次重大革新。而Bram在生前一直在规划Vim 9,他在2022年发布了9.0版本,引入了Vim9script,一种更简洁、更快的脚本语言。在9.0的开发过程中,Bram依然保持高度活跃,甚至在去世前数周还在提交代码。他的最后一条Commit是在2023年5月,关于调整Vim的文档。

Vim的影响力不仅限于自身。著名的Neovim项目——其诞生的“独立分支”——也缘起于对Vim未来方向的争论。尽管Bram并不热衷Neovim的fork,但他从未公开反对,只是专注于维护自己的版本,这种宽容态度使得两个项目得以共存,为整个文本编辑器生态注入了多样性。

Vim与宇宙辐射:一条科学轶事

Bram的技术深度常被他低调的性格掩盖,但他的一项工作却引发了科学界关注。2016年,Bram在微软剑桥研究院工作时,与同事合作研究宇宙辐射对计算机内存的影响。他们发现,高能粒子撞击内存单元可能造成“软错误”,导致比特翻转。Bram将这一发现与Vim的用户数据完整性联系起来,因为在某些极端情况下,辐射诱发的数据损坏会让用户丢失未保存的编辑内容。虽然这听起来像科幻,但Bram的严谨态度让他在让Vim处理崩溃恢复时考虑了更多底层因素。这段经历虽非Vim的直接技术贡献,但恰恰体现了他对软件健壮性的极致追求。

最后的时光与社区的反响

2023年8月5日,Bram去世的消息传出后,Hacker News论坛在短短几小时内就涌入了上万条评论和数百个评价,热度一度高达4310分。开发者们在悼念的同时,纷纷分享自己与Vim的故事。有人写道:“因为Vim,我找到了提高代码编辑效率的快乐,感谢你Bram。”也有人回忆道:“1992年我下载了Vim的源码,那时的代码风格简洁而优雅,至今仍然受用。”

Vim社区的主要维护者之一、GitHub上现存的核心维护者Christian Brabandt在邮件中表示:“Bram的离世对Vim项目是不可替代的损失,但我们承诺将继续维护和发展他留下的作品。”后续,Vim在GitHub上的仓库继续由社区维护,核心团队也已建立继承机制,但项目主页上仍然挂着一句话:“The original author is Bram Moolenaar.”(原作者:Bram Moolenaar)。

许多公司也致以哀思。比如微软(曾雇佣Bram在剑桥研究院工作)的开发者工具部门发布推文称他为“现代编辑器的先驱”。Linux之父Linus Torvalds也在邮件列表中简单回复:“他会想我的,我从来只用vim。”虽然Linus此语略带玩笑,但表示了对Bram的尊重。

遗产与传承

Bram Moolenaar的遗产远超一个编辑器。他教会了人们如何与命令行亲密接触,也证明了独立开发者与广袤社区结合可以创造绵延几十年的杰作。Vim的“模式编辑”思想影响了VS Code、IntelliJ等现代IDE的Vim模拟插件,甚至还在我们日常玩的打字游戏中有所体现。而Vimscript与Vim9script的存在,则让用户能够打造属于自己的专属工具。

更为可贵的是,Bram始终将技术伦理与公益性融入软件之中,提醒我们开源不仅仅意味着代码的自由,也意味着责任与关怀。正如他在Vim官方手册所做的那样,引导用户去帮助地球另一端的儿童,这份善举成为开源界的一股清流。

Bram生前在Vim的贡献者名单中列出的头衔是“Vim的领导者、作者以及维护者”,但他同时自称:“我只是一个普通的程序员,试图做一点有用的事情。”这是谦逊,也是伟大。

如今,Vim仍在不断更新。就在2023年8月,Vim发布了9.0.1755号补丁,修复了一个小型的内存泄漏问题。社区成员说,每当他们敲下 :wq 保存并退出时,都是在致敬那位引领他们走过文字编辑漫长岁月的导师。

愿Bram Moolenaar安息,愿他在旅途的另一端依然能享受编辑文本的纯粹乐趣。而当我们打开终端,输入 vim 时,他的一部分就会与我们同在。

原文链接:https://groups.google.com/g/vim_announce/c/tWahca9zkt4
"
}

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消