昨天要写一个简单的 Ruby 小程序,来快速的对一些数据做出统计。之前用的 Atom 来写的 Java 程序,缩紧方面的设置还需要重新调整。我觉得有些烦了,就干脆关了,用 Emacs 来写。
我的电脑上一直装着 Emacs,结果不成想,可能是因为近期升级了操作系统版本的缘故,在 Emacs 里的汉字字体都变成了隶书,看起来太别扭了。我于是赶紧搜索字体设定办法,结果要编辑 elisp 了,却发现我竟然需要从 org-mode 的文档里进行调整。后来,我想上 USENET 上看看,发现 Gnus 的设定也没了,再想重新设定,却发现也不算容易。最终,我还是解决了问题,但却让我觉得,之前的一些 fancy 的东西,也许对我来说是一种歧途?
之前我用了 Mac OS X 后,同时也渐渐的从每天写程序的日子里退了下来,渐渐的觉得既然用了 Mac 系统,那再用 Emacs 也许有点不合时宜——毕竟从界面、快捷键上,都与 Mac 系统不大一致。而且,我又看了一些关于 Sublime Text、特别是 Atom 等编辑器的文章,觉得也想试试这些东西,于是在一段时间里,我有意的使用这些编辑器来工作,包括编辑文档还有写程序。
但是,我渐渐的发现,我也许已经过了可以随便学习一个新的编辑器的阶段。没有了学习一个新的编辑器的热情。想起在高中阶段,我对 Emacs 的痴迷劲儿,常常读相关的文章,对着其中的配置来弄自己的 .emacs 文件,每知道了一个新的功能,我就可以兴奋好几天。从那个时候,我一直把 Emacs 当做自己的首要编辑器。这也让我放弃了学习其它编辑器的机会,比如 Vim,我虽然会用,但没法把它用好,真让我用它来写代码,我也真做不到。所以,其它的编辑器,我都只是停留在试试而已。
刚开始是 SublimeText,很多人把它捧得很高,因为它是用 Python 写的,Python 程序员可以自己来扩展。它也同样有一个扩展机制来扩充功能。后来有文章又把 Atom 捧上了天,说是很了不起的创意,用了 web 技术来写编辑器。等我用了下来,我发现除了是用 web 技术来渲染文档之外,其它的跟 Emacs 的差别,从思想上来说,不算太大。不同的是 Emacs 使用 ELisp 语言来扩展功能,而 Atom 用了 Nodejs。不过我想既然 Nodejs 这些年来大火了一把,我跟着这个潮流来学习一二,也挺不错。后来终究因为时间忙、注意力差而没有坚持下来,反而让我更加的思念 Emacs 了。
今天我重新打开了 Emacs,莫名的发现中文字体变样了。过去正常的字体,现在成了隶书。不是不能看,但是在是别扭。当中我升级了操作系统,估计跟这个有关系。找到了设置默认中文字体的方法,把默认字体设置成苹方,能正常显示了,可重启 Emacs 后就又回到了原样。我着手进行修改,可发觉原本觉得真了不起的 Emacs Starter Kit 也不太好用。模仿高德纳的文学式编程,实际进行修改起来,一是文档造成了一定的干扰,不如直接面对代码方便。二是编辑器有了一定的偏差,原本可以轻易的进入一种模式来编辑块中的代码,但现在配置有了偏差,这个功能失效了,代码一下子变得比较难看,最终勉强的才修正了代码。
到了晚上,我因为启动了 Emacs,就想起了 ERC,想上 IRC 上去看看。上了一些过去的讨论组,发现在2012年还非常繁荣的 #gentoo-cn、#ubuntu-cn 等,现在都门可罗雀,没有人上去讨论了。也就是英文群组 #emacs 还算有人发言,让我一阵忧伤。之后又想起了那时上新闻组的日子,于是想上去看看,才发现我的 Gnus 还没有配置。想着重新配置,Emacs Starter Kit 里 Gnus 那一部分又让我挠头了。
我开始觉得用 Emacs Starter Kit 对我来说是一种歧途。原本我自己的 Emacs 配置文件长年不用变,无论怎么升级都可以用的好好的。但 Emacs Starter Kit 给这一切增加了复杂度,有一些我不知道怎么运作的代码,不搞清楚它们,我在修改功能的时候,就非常的受到限制。我决定要重新整理相关配置,弄成之前的那个样子。可之前的配置文件不知道被我备份到什么地方去了。想自己重新写,路径那一关就是个问题,我花费了两天业余时间,才把它配置的跟过去相似。要想恢复过去的样子,真不知道还要多少时间。
我想,我在之前的那条歧路上,走的有些远了。像一些便利的东西,偶尔玩玩可以,但因为它而荒废了自己的根本,在长远上看有些得不偿失。
我也遇到了 Mac 升级 El Caption 之后 emacs 中文字体变为隶书的问题,请问你解决了吗?
已经解决了,在配置文件中加入字体设置就行。
(dolist (charset '(kana han symbol cjk-misc bopomofo)) (set-fontset-font (frame-parameter nil 'font) charset (font-spec :family "苹方-简" :size 12)))