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檔案的關聯了。