Emacs 50周年
Emacs 50 周年促使程序员反思:为什么一个诞生于 1970 年代、基于 Lisp 的编辑器,至今仍比许多现代 IDE 更深刻地影响他们的日常工作。评论者认为,它的长寿源于一种把 Emacs 视为一个活的、完全可编程环境的架构——几乎就是文本世界里的操作系统——其可扩展性让它在不丢失用户控制和自由的前提下,吸收了 LSP、Tree-sitter,甚至基于 LLM 的“编码 agent”等潮流。虽然有人担心人体工学、安全性,或深度 Emacs Lisp 专家的数量过少,但许多人认为 AI 工具实际上降低了定制门槛,而 Emacs 在编辑以及编排当代开发者工作流方面仍然拥有独特而强大的能力。
架构哲学与长寿性
- Emacs 被赞誉为不只是一个编辑器:它是一个交互式 Lisp 运行时 / “迷你操作系统”,编辑器、UI 和扩展都共享同一种语言和运行时。
- 核心设计:代码 就是 API;大部分功能都在 Emacs Lisp 中,配合一个很小的 C 核心,从而无需重启即可现场修改。
- 这种开放性和可塑性被认为是它超越许多 IDE 和编辑器的主要原因,并且它一次又一次吸收新的范式(模态编辑、LSP、Tree-sitter、AI 等)。
- 有人认为,尽管 Emacs 已有 50 年历史,它看起来比许多“未来”编辑器更现代。
AI、Agent 与实时折腾
- 许多用户现在把 LLM 当作 Emacs 内部的“心想事成”助手:生成并迭代 Elisp、修复配置、集成工具,甚至以无头模式调试 Emacs 本身。
- 常见工作流会用到 gptel、eca、agent-shell、claude-code、llm-buddy 等包,用于编码、配置和一般文本处理。
- 有人担心这种便利会减少真正理解 Emacs 内部的人数;也有人反驳说,降低门槛会扩大用户基础,并培养未来的专家。
自定义、配置体量与极简主义
- 配置风格差异很大:从几乎原生的 Emacs 或约 100 行的 init,到 1 万至 2.5 万行、带测试和数百个包的配置都有。
- 有些人有意保持配置精简;另一些人则把 Emacs 视为一头“庞然大物”,就应该被大幅定制。
- 许多人使用现代栈,如 vertico/corfu/eglot/consult,并且往往更偏好与内置方案一致的包,而不是旧生态(helm、lsp-mode、company)。
- LLM 被广泛用于创建、移植和重构配置,从而降低了深度定制的门槛。
学习 Elisp 与社区健康
- 几位老用户承认,他们在 Emacs 上高效使用了很多年甚至几十年,但对 Elisp 几乎不了解。
- 也有人强调 Elisp 很容易上手,而理解它对项目的长期健康很重要。
- 有人担心核心维护者正在老去;也有人乐观认为,新用户加上 AI 辅助会补充这方面的专业知识。
可用性、人体工学与风险
- Emacs 的价值在于,它既能在差劲连接下通过终端工作,也能作为带高级功能的 GUI 使用。
- 争议包括 Emacs 的“小指”负担和按键绑定导致的 RSI、Windows/ARM64 支持缺口、某些平台上的内存泄漏,以及其强大能力带来的大攻击面。
- 有人通过 safe-local-variable 检查或沙箱来缓解安全风险;但相关细节仍有些不清楚。
编辑器战争、工作场所与认知
- 许多人觉得“编辑器战争”基本已经结束;Emacs 用户群虽然更小,但极其忠诚。
- 在一些工作场所,为了统一性和管理员便利,会不鼓励使用 Emacs 这类非标准编辑器;另一些人则认为这是一种不专业的管理方式。
- 一个反复出现的主题是:人们会从 VSCode/Neovim/Zed 回到 Emacs,因为最终它们让人更高效,也让人感觉对自己的环境更“可控”。