EASY COME, EASY GO...

第 N 次重构 Emacs 配置的历程

Burgess Chang
2020-07-24

粗算下来,自从安装了 Ubuntu 16.04 开始,我的 Emacs 使用史也已经有四年了。总结我个人的 Emacs 使用经历来看,Emacs 是让我痛苦而享受的。

痛苦的是 Emacs Lisp 的过于灵活与强大,而 Emacs 的默认配置又是如此的功能贫乏,对每个人不同的需求来说需要进行大量零乱而繁杂的配置。同时受到社区认可的各个 Emacs 配置项目又具有比较高的封装,对使用者来说长期的使用屏蔽了个人对 Emacs 的理解。至少对我来讲,整个 Emacs 人生的早期是纠结而痛苦的。

对于这篇文章,我希望记录自己在重新对自己的 Emacs 配置框架进行设计时所进行的思考与取舍。

我的 Emacs Life

自从我第一次接触了 org-mode 之后,我就叛逃了 Vim 选择了 Emacs。总结下来,我的 Emacs Life 到目前为止是分为四个阶段的:

  • 使用 Vanilla Emacs 默认配置的简单修改
  • 学习 Spacemacs 并开始使用 Evil
  • 转向更高性能的 Doom Emacs
  • 本文初写(July 25, 2020)时,开始再次自定义 Vanilla Emacs

第一个阶段乏善可陈,我沉浸在初用 Emacs 的好奇中,也并未阅读 GNU Emacs manualProgramming in Emacs Lisp。再到后来按照子龙山人的教程入坑了 Spacemacs,使用了大约一年后,由于我工作流更喜欢频繁的打开关闭 Emacs,实在是难以忍受 Spacemacs 每次漫长的启动时间,最后倒向 Doom Emacs。Doom Emacs 的维护者是我目前最钦佩的开发者之一,他的配置经过了大量的重构同时提供了很多高质量的宏,便利了很多使用者。

关于 Spacemacs、Doom Emacs 的详细优劣比对,有一篇很好的博客推荐。

最终我选择自己从 Vanilla Emacs 重新开始配置,是由于我逐渐认识到:

一千个人有一千种 Emacs 配置

而高度定制化的 Emacs 配置事实上阻碍了我更加深入的学习和定制 Emacs,也就是通常情况下的只知正常运行而不知其所以然。

未完待续

2020-07-24