软件正在被Emacs化:一个编辑器病友的观察报告

📅 2026/7/15 15:05:13 👁️ 阅读次数 📝 编程学习
软件正在被Emacs化:一个编辑器病友的观察报告

一句话定性

所有现代软件都在变成Emacs——臃肿、 extensible 、启动一次能跑十年那种。

快速验证

HN热帖《The Emacsification of Software》揭示了一个趋势:VS Code、Rider、 Zed 这些现代编辑器,都在重走Emacs老路——运行时可插可拔、 LSP 协议统治一切、配置即代码。这不是进步,是轮回。Reddit上这帖子盖了200多层楼,评论区吵翻了天,有人说这是「正确的架构」,有人说「我们花二十年摆脱的噩梦又回来了」。

技术本质解构

Emacs的核心哲学就两条:

  1. 编辑器即Runtime——不是工具,是平台
  2. 一切皆Lisp——配置和代码没有边界

现在看VS Code:扩展跑在Node.js上,配置是JSON/TSExtensions,本质上就是一个带GUI的Emacs。Zed把Rust嵌进来,意图复制「一次启动用十年」的神话但失败了。Rider绑死JetBrains家的IDEA内核,结果大家抱怨「重」。

LSP成了新时代的协议层——所有语言服务器都在后台跑着,跟当年Emacs跑各种mode如出一辙。以前是M-x flymake-mode,现在是保存自动触发textDocument/publishDiagnostics。换一个编辑器,所有language server重跑一遍——这跟Emacs删了.emacs重配有区别?

务实判断

Emacs化不是问题,问题是:

  1. 启动时间变成玄学——VS Code首启20秒,机器差的开到哭
  2. 扩展依赖变成债务——项目换UI框架,扩展全挂,配置重配
  3. 统一协议没带来统一体验——这个 LSP 实现acky,那个用起来缺功能

说白了,大家都在为「extensible」的美好愿景付技术债。

明确吐槽

槽点一:VS Code的扩展市场就是2016年的Emacs包管理器——搜一个「React」,前20个结果一半过期、一半没人维护。

槽点二:每个项目都要配一遍.vscode/extensions.json,这跟当年每个项目扔一个.emacs.d/有什么区别?历史是个圈。

结尾

Emacs没死,它只是转世投胎到了Electron里。下次有人跟你说「VS Code真香」,你可以反问他:你上次重启电脑是什么时候?反正我的Emacs已经跑了497天没歇过了。