🚀 引言:回归纯粹的编辑器之美
在插件满天飞的时代,你是否想过彻底抛弃 MELPA,仅依靠 Emacs 原生功能构建生产力工具?
近日,开发者 Rahul Juliato 分享了他坚持 两年零外部插件(Zero External Packages) 的 Emacs 使用心得。这不仅仅是一次配置的精简,更是一场关于“深度掌控工具”的修行。经过两年的沉淀,他完成了配置的大规模重构,将整个系统拆分为 35 个独立模块。
—
🛠 配置核心:从混沌到 35 个模块的解耦
作者的 Emacs 进化史可以概括为三个阶段:
- 全家桶阶段:安装大量热门插件,配置臃肿。
- Solo 尝试期:清空所有第三方包,开始挖掘内置功能的潜力。
- 模块化重构:将配置拆分为 35 个
.el 文件,通过 provide 和 require 进行按需加载。
为什么选择原生?
- 极致性能:启动速度秒开,无内存泄漏隐患。
- 向下兼容:无需担心外部包维护者停更或破坏性更新。
- 深度学习:强迫自己查阅官方手册,真正理解
Elisp 的底层逻辑。
—
💡 那些“被低估”的原生组件
在两年的实践中,作者发现许多第三方插件的功能其实早已存在于 Emacs 核心中:
- Project.el:完全替代 Projectile,提供轻量级的项目管理。
- Isearch & Occur:代替各种搜索增强插件,满足日常检索需求。
- Tab-bar-mode:现代化的标签页管理,支持不同的窗口布局切换。
- Eglot:自 Emacs 29 起内置,提供丝滑的 LSP 支持,无需额外安装 LSP-mode。
核心哲学:不要为了解决 1% 的边缘需求而引入 100% 的外部代码复杂度。
📂 模块化架构概览
作者将 35 个模块分类存放,确保了配置的高度可维护性:
| 分类 | 典型模块 | 功能描述 |
| Core | early-init.el | 优化启动性能与 UI 渲染 |
| Editor | editing.el | 缩进、括号匹配、文本操作自定义 |
| Tools | vcs.el | 深度集成内置的 Magit 替代品:VC |
| UI | theme.el | 基于原生 Face 的视觉定制 |
—
🌟 总结:这是一种生活方式
“Emacs Solo” 并不是要排斥所有进步,而是选择一种有意识的克制。通过这两年的实验,作者证明了即使不依赖庞大的生态系统,Emacs 依然是世界上最强大的编辑器(没有之一)。
💬 互动话题:
你能接受不使用 use-package 和 straight.el 的 Emacs 配置吗?欢迎在评论区分享你的看法!