计算机科学家戴维·奇斯纳尔 (David Chisnall) 近日分享了一段令人警醒的经历:安装 NeoVim 导致其原始 Vim 的撤销文件被删除,进而丢失了长期积累的工作数据。这一事件引发了关于软件兼容性、用户数据保护以及“拉斯金第一定律”重要性的讨论。

Vim 用户的长期依赖与意外损失
奇斯纳尔自 2000 年起开始使用 Vim,期间完成了五本书、一篇博士论文、几十篇学术论文及 150 多篇文章。他表示,对于常用命令,他的操作已近乎本能,甚至在其他编辑器中也会下意识输入 Vim 指令。
他特别提到了 Vim 的一项核心功能——持久化撤销(Persistent Undo)。该功能允许用户在重启计算机或关闭文件后,仍能恢复之前的编辑状态。奇斯纳尔描述道:“我不常需要坚持不的撤销……但我曾从文件中删除了一些内容,也许是上周或重启前的操作。复制并粘贴到当前版本中,整理好准备提交时,发现它不起作用了。”在长达二十年的时间里,尽管 Vim 经历了多次主要版本升级,这一功能始终可靠。
NeoVim 的行为逻辑争议
作为 Vim 的一个分支,NeoVim 旨在提供更现代化的体验。然而,当奇斯纳尔尝试使用较新版本的 NeoVim 时,他发现撤销功能失效。进一步测试显示,即便重新打开原始 Vim,撤销功能也无法正常工作。
原因在于 NeoVim 改变了撤销文件的格式。它并未对旧版文件格式进行升级兼容,也未使用独立的文件名来区分新旧格式,而是直接识别并删除了原有的 Vim 撤销文件,替换为 Vim 无法读取的新格式文件。这意味着所有历史撤销数据永久丢失。
用户不应该依赖数据被保存在一个明确称为持续撤销的功能中。它曾经发生过变化,很可能会再次发生变化。这结束了我与 NeoVim 的经验。作者立即表明他们绝对不能信任我的任何数据。破解持久取消是我可以原谅的错误,但仅仅因为某个东西是您的文件系统中的持久文件。
拉斯金第一定律与人性化界面
奇斯纳尔的遭遇触及了杰夫·拉斯金 (Jef Raskin) 在其 2000 年出版的《人道界面》(The Humane Interface) 一书中提出的核心原则,即“拉斯金第一定律”。这些原则强调软件设计应尊重用户数据和时间:
- 计算机不应损害您的工作,也不应因无所作为而使您的工作受到损害。
- 电脑不应浪费您的时间,也不应要求您做比严格必要的更多的工作。
- 接口是人性化的,如果它是响应人类的需要和考虑人类的弱点。
对于许多资深开发者而言,这些原则不仅是理论指导,更是日常工作中必须坚守的底线。软件更新不应以牺牲用户既有数据和操作习惯为代价。





