距離上一次介紹定制Emacs的基本外觀,已經(jīng)過去了頗長一段時間。主要是由于工作上出了一些情況,突然的工作量大了不少。到最近才相對輕松了一些。所以,我打算繼續(xù)寫這個專題。歡迎大家繼續(xù)關(guān)注我的文章!
1. Emacs 的Theme
Emacs是“上古的神器”,按照年齡算,估計要比好多人都大不少。雖然是“老一輩”的神器,不過這些年Emacs的發(fā)展一點也沒有停止,Emacs與Vi(m)的圣戰(zhàn)也在持續(xù)。作為神器,華麗的外表必不可少。而Emacs強(qiáng)大的自定義靈活性,也造就了他在外觀上不輸于現(xiàn)代編輯器的強(qiáng)大能力。
在Emacs中,可以通過靈活的定義顏色、顯示方式和內(nèi)容、字體大小等內(nèi)容以達(dá)到視覺效果的靈活定義。這類定義Emacs外觀顯示參數(shù)的一系列代碼就是我們說的Theme。也慶幸Theme機(jī)制的存在,我們可以輕松的獲得Emacs視覺達(dá)人設(shè)計的外觀樣式,讓我們的Emacs千變?nèi)f化,總是充滿蓬勃的朝氣。
2. 在Emacs中加載Theme
隨著Emacs發(fā)行版一起安裝的有幾個Theme。我們可以隨時切換Emacs的外觀。使用組合鍵 `Meta-x` 調(diào)用萬能的函數(shù),如圖:

調(diào)用 `load-theme` 之后,Emacs會問:要加載哪個主題呢?你可以輸入需要的主題名稱(通常是主題文件的文件名),不過我更多的是使用 `Tab` 鍵來進(jìn)行補(bǔ)全。按下 `Tab` 鍵之后,Emacs會吧當(dāng)前可以使用的所有Theme名稱都列出來。自由的選擇吧!
多方便?。篋
3.安裝新的Theme
打開一個Theme定義文件,你看到的一定是這樣的:

哦,我的天!我好像掉進(jìn)了兔子洞,已經(jīng)分不清東南西北啦!
好在,如果不想研究Theme的編寫的話,你完全沒必要打開Theme的定義文件(Elisp文件),直接使用大牛們編寫好的就可以了。
使用 `package-list-packages` 你可以找到絕大多數(shù)的Theme包。感謝Emacs大神,他們將Emacs的所有擴(kuò)展插件都集中管理了起來,讓我們可以從一個統(tǒng)一的數(shù)據(jù)源安裝擴(kuò)展插件。
我們先來做一些準(zhǔn)備工作
3.1添加Emacs的擴(kuò)展安裝源
從Emacs 24.1 開始,Emacs有了自己的擴(kuò)展插件——包(package)管理系統(tǒng)ELPA(Emacs Lisp Package Archive)。這個管理系統(tǒng)可以與互聯(lián)網(wǎng)上指定的服務(wù)器聯(lián)系,方便的管理Emacs的各種擴(kuò)展插件,進(jìn)行安裝、更新等操作。
默認(rèn)情況下,Emacs只是從ELPA(Emacs的官方擴(kuò)展插件)獲取相關(guān)的可用插件信息。而MELPA則是另一處知名的擴(kuò)展插件聚集地。我們使用如下代碼先將MELPA的信息添加到Emacs的配置文件中:
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(package-initialize)
3.2選擇和安裝Theme
使如上代碼生效后,我們可以使用 `package-list-packages` 命令獲取當(dāng)前可用的所有擴(kuò)展插件列表:

檢索關(guān)鍵字 `theme` ,你可以找到大量的結(jié)果。選擇你喜歡的安裝上吧。
3.3讓Theme生效
好不容易,我們已經(jīng)安裝好了一個Theme,如何生效呢?這里有兩個辦法:
-
臨時激活Theme,看看效果再說
Theme擴(kuò)展安裝完了,我們可以在當(dāng)前Emacs的Session中先激活一個Theme。這個命令可以做到:
`M-x load-theme`
在使用按下 `Tab` 鍵獲取Theme列表后,我們選擇了一個。嗯,看起來有點意思。
-
正式啟用制定的Theme
經(jīng)過一番試用,我們終于有了Chosen One,要讓Emacs每次啟動時自動加載該Theme,可以在配置文件中使用如下代碼(下面的代碼中以 “monokai” Theme作為例子,大家可以換成自己喜歡的其他Theme名字):
(load-theme 'monokai t)
3.4讓生活更輕松
“我的天啊,這么多的Package吶。要選一個心儀的Theme,也太耗費精力了。”
“選一個Theme,在一個個的下載,試用。這么費心費力?!唉,算了,我還是玩別的去吧,神器不可近觀!”
……
停,先別著急下結(jié)論。我們有更簡單的方法?,F(xiàn)在隆重介紹Emacs Theme展示板:

在這里你可以看到幾乎所有的Emacs Themes。所以在這里淘換吧!遇到喜歡的,再安裝試用就好。
怎樣,是不是輕松了很多?
哦,對了,上面那個網(wǎng)站的地址在這里: https://emacsthemes.com/
祝生活愉快!