由于某位仁兄的抬爱,oh-my-emacs 发布之后,在 reddit 上出人意料地受到了很多人的关注。而我也在一夜之间收获了 20 多个 github star,以及人生的第一个 pull request。突如其来的关注让我有些欣喜,也让我看到了两个月工作的价值。技术上来讲, oh-my-emacs 根本算不上“高端大气上档次”的项目,无非就是读文档读文档写文档外加 el-get package 的整合测试。不过话说回来,这两个月以来真心是写了不少文档啊,要是按照一个 el-get package 一篇 blog 来算,平均下来两天就可以有一篇 Emacs Tips 这种文章了。连我都有些佩服自己的耐心了。

我想,oh-my-emacs 之所以受到了一些的关注,归根到底,还是 oh-my-emacs 确实解决了一些现实中的问题吧。上篇博文中我曾经提到,基于 auto-complete 的语义补全是 oh-my-emacs 最看重的目标之一。

也正是基于这个宏伟的目标,我又花了一个晚上的时间,折腾出 ac-geiser,“an Emacs auto-complete backend for geiser”。

去年学习 SICP 的时候就一直希望能有个类似于 SLIME 般强大方便的工作环境1,几番折腾之后未能如愿,乖乖用 Vim 作了一百多道 SICP 的习题。而我的 Scheme 经验也就止于这些习了,因此 ac-geiser 可能目前还不适合工程性的应用2。不过对于单个 Scheme 文件的程序,我觉得应该还是值得一试的。还是老样子,放张图吧:

Enjoy it.


  1. 如果你不知道 SLIME 如何强大,可以参考 这里 以及 这里

  2. 话又说回来,Scheme 现在似乎也没有多少工程性的应用吧?各个 Scheme 实现中也没有遵循统一的 Module/Package 的标准。Scheme 本来又是极小核心的语言,因此这使得 Scheme 非常适合作为教学语言。但似乎除了教学,Scheme一直都没有走出校园过。以上纯属个人认知,欢迎指正批评。