【積水成淵-逐步定製自己的Emacs神器】3:為Emacs安裝擴充套件
前言
本文介紹瞭如何使用Emacs的Package-Mode來為其安裝擴充套件包,講解如何新增新的Package源和如何安裝Package。以安裝一個新的主題包Solarizd和Markdown編輯擴充套件Markdown-Mode為例進行講解。
檢視Package列表:list-packages
使用M-x list-packages命令可以檢視所有packages的列表,此時Emacs進入Package Menu Mode。Emacs列出了所有可以安裝、已經安裝、可以更新的Package,使用C-h m來了解更多的操作幫助。
Package源:package-archives
這個package列表是從網上down下來的,這個下載地址,Emacs裡的專業叫法叫Package Archives
,我稱它為Package源。使用
C-h v package-archives
來檢視package源這個變數的值,預設情況下,只有一個源,這導致Emacs的list-packages列表裡包的數量不是很多。
新增Packag源
M-x customize-variable RET package-archives
: 還記得第二篇文章裡的定製操作吧,使用customize-variable來修改這個package源變數。敲這個命令的時候記得多用TAB不用都敲。
進入之後可以看到當前的package源,點選下面的INS
填好之後的介面如下所示:
儲存設定之後,再次使用M-x list-packages 就會看到包的數量明顯增多。
注意:melpa這個package源需要科學上網才能正常使用,而且連線速度貌似不是很快,我平均要連30s左右才能連上。如果好久都沒有響應,使用萬能的C-g來跳出list-packages操作。
下面這篇文章裡推薦了大陸使用者一個package源,我還沒使用過,如果不能科學上網的使用者,可以試試:
安裝新主題
設定好了package源,現在可以給Emacs安裝新的擴充套件了。
M-x list-packages 進入package列表,如果你已經在這個介面,按 “r” 鍵來重新整理,重寫連線。
以安裝Solarized主題為例,按C-s來搜尋 “solarized”. 如下圖所示,把游標放在“Solarized”那行,按“i”鍵,將其標記為“要安裝的”,然後按“x”鍵執行標記為“i”的專案,這裡僅僅標記這一個。
安裝過程中會提示你是否要執行未經安全確認的ELisp指令碼之類的,選“yes”就行了。裝完這個主題之後,使用M-x customize-themes
進入主題切換介面,可以看到Solarized Dark和Solarized Light兩種風格可供選擇。這裡假設選擇了Solarized Dark主題,並且儲存為長期使用。此時開啟你的Emacs配置檔案會看到如下內容:
(custom-set-variables
'(custom-enabled-themes (quote (solarized-dark)))
'(custom-safe-themes (quote ("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" default)))
可以看到,新安裝的主題配置已經寫入Emacs配置。如果你此時重啟Emacs,進來後會發現主題沒有儲存下來。這是因為在執行這段主題配置指令碼時,Solarized包還沒有載入。因此要想讓設定生效,需要在這段指令碼上面初始化packages,在你的.emacs(或者init.el)檔案最上方加入這句:
(package-initialize)
它會初始化packages,確保隨後的配置生效。
安裝Markdown
這一節說一下Emacs裡做筆記寫部落格。
如果只需要使用Emacs來記筆記,安排日程,那麼毫無疑問Org-Mode是首選。網上Org-Mode的教程很多,在此不細說了。如果需要編寫Markdown檔案,Org-Mode可以使用命令匯出為Markdown格式,網上有人說使用C-c C-e m
可以匯出Markdown,但是我使用最新版本(20160229)的Org-Mode匯出時,並沒有匯出Markdown的選項,我猜可能是需要安裝新擴展才行吧。
其實Emacs的packages中有一個Markdown-Mode package是專門為編寫markdown檔案設計的,雖然它沒有Org-Mode那麼強大,但是對於普通使用者已經足夠用了,這篇文章就是在Emacs的Markdown-Mode裡編寫的。這裡是Markdown-Mode的github連結,裡面有使用說明。總體來說用起來還算順手,不足之處是應該是對錶格的支援不是很好,我沒在說明中看到對錶格編輯的支援。
為什麼要單獨說一下安裝Markdown-Mode呢?
這是因為它不是通過Package系統來安裝的,上面的Solarized主題的安裝是通過Package系統來安裝的,過程很簡單,是自動的。
而Markdown-Mode的安裝方式是手動的。因此把它作為手動安裝擴充套件的一個代表來說明。在上面的Markdown-Mode的github連結中可以找到它的安裝方法:
- 第一步:clone版本庫(git clone https://github.com/jrblevin/markdown-mode.git),拿到裡面的markdown.el檔案,拷貝到
($HOME)/.emacs.d/elpa/markdown-mode/
路徑 (自己新建目錄) - 第二步:把markdown.el的路徑加入到Emacs的load-path之內
- 第三步:在Emacs配置檔案中加入Markdown-Mode的設定程式碼
編輯後的Emacs配置檔案中markdown-mode部分配置如下所示:
;;;markdown mode
;;;; YOUR_HOME_DIR是你的Home目錄。
(add-to-list 'load-path "($YOUR_HOME_DIR)/.emacs.d/elpa/markdown-mode/")
;;;; 官方的markdown-mode設定
(autoload 'markdown-mode "markdown-mode"
"Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
要檢視自己的load-path,使用
C-h v load-path
總結
- 自動安裝:使用M-x list-packages來檢視所有packages,使用i,x等快捷鍵來操作packages。有些package安裝之後也要自己在Emacs配置檔案裡做一些設定
- 手動安裝:通常需要自己拷貝檔案到.emacs.d等目錄,並修改Emacs配置檔案
作者水平有限,對相關知識的理解和總結難免有錯誤,還望給予指正,非常感謝!