Emacs的基本配置顺手后,我立刻发现缺省的字体,Courier New,让人不爽。虽说Courier New是mono-space的字体,但还是不能满足编程的需要。一是它的0和O不容易区别。二是(和{不容易区别。三是1和l不容易区别(用过Prolog的老大们初学时为了这个1和l,没少熬过夜吧?)。幸好找字体这种体力活早有铁杆儿geek, 博客快枪手Jeff Atwood代劳。我最爱Pragmata。可惜珍品藏富室,美人入豪门。艺术永远是金钱的敌人。Pragmata要价90欧元。我只好作罢,选中Proggy Clean TT。Proggy Clean是基于位图的字体,只有12号字体最清晰。如果我们的屏幕分辨率太高,就没法用了。不过我的分辨率也就1600x1200,12号字体放在Emacs上正好。我们可以比较一下效果:
Courier New的效果:
Proggy Clean的效果:
安装新字体容易,把字体文件解压到C:\Windows\Fonts下就行了。羚羊书上说可以SHIFT+鼠标左键就可以调出字体菜单。果不其然:
不知道是羚羊书没说,还是我没仔细读,这样设置字体只对当前session有效。Emacs重启后,字体又恢复到了Courier New。
Google一番后,找到解决办法:
- 用上面的办法选中ProggyCleanTT。
- M-:调出mini-buffer里的解释器。
- 在”eval:”后输入(frame-parameter nil 'font),回车。
- Mini-buffer里应该出现当前使用的字体名称。因为1.里选了ProggCleanTT, 我得到的字体名称是-outline-ProggyCleanTT-normal-r-normal-normal-16-120-96-96-c-*-iso8859-1
- 打开emacs的配置文件。一般是~/.emacs。加入这句话:(set-default-font “字体名称”)。比如(set-default-font "-outline-ProggyCleanTT-normal-r-normal-normal-16-120-96-96-c-*-iso8859-1")。
- 现在缺省字体就被永久保存下来了。
P.S., Emacs自带的python.el功能太原始。还是用python安装包里的python-mode.el来得爽快。没有electric mode的模式怎么能用嗫?可惜python.el和python-mode.el都用函数python-mode来**python模式。所以俺这个小革命又遇到新问题:怎么才能去掉emacs缺省的于python.el的关联呢?现在如果我打开一python文件,python.el里的python-mode被**。我得手工M-x python-mode才行,虽然我的初始文件里已经加上和.py文件的关联了。