強大更勝 vundle 的 el-get 介紹之下篇。
關於el-get安裝及啟用,請參考前兩天的文章,簡單扼要的講了 Emacs 內建的 elpa-package 體系,以及安裝、使用 el-get 的方法。本文將假設你已經安裝好了el-get,然後準備更進階的動作。
本篇文章將深入探討 el-get 的:
一、與emacswiki同步
Emacswiki 是一個格式與常見 wikipedia 差異頗大,但是包含了很多資源的地方。一個特點在於,wiki 內提供的 elisp 程式碼,都有一個對應的 url,可以透過那個 url 將該檔案當成一個套件來下載,安裝與更新。
指令是: M-x el-get-emacswiki-refresh
若要在設定檔內使用,請先於執行過上述 refresh 命令,使 el-get 建立一個列表(此步不可忽略!)。然後,可用之前的 el-get-list-packages 查看,套件來源處會寫 emacswiki。底下是一個來自 emacswiki 的包的例子。
二、存放於程式碼託管服務的套件下載(Github、各CVS主機)
這裏是你若要撰寫自己的 recipe 需提供給他的資訊
1. Git (非github):
:url "git://pkgurl"
2. Github:
:pkgname "foo/bar" 即可
3. Hg (mericual) / Svn / Cvs
:url "http://pkgurl"
4. brew / apt-get / pacman
雖然提供,但是沒有 recipe 可參考。如果知道原始碼位置,不需透過作業系統自己的包管理
其他可自己去 method 中查詢支援的方法。
三、自己的 recipe
若有自訂的 recipe,可以存放在資料夾,然後用 add-to-list 引入 emacs 中。
(add-to-list 'el-get-recipe-path "~/path/to/recipe")
我設定自己的 recipe 存放目錄是 .emacs.d/el-get/self,把自己寫的 recipe 放進去。示範從 gist 安裝我自己寫的 stardict 程式爲例(註:如果想要測試,最好是 linux 用戶,能從命令列執行 sdcv。沒針對 windows 處理!):
(:name yf-stardict
:description "An emacs interface between sdcv and emacs."
:type git
:url "https://gist.github.com/6709014.git"
:args "yf-stardict")
從圖片可以看到,我們成功的安裝了 yf-stardict 在 el-get 中!非常完美的處理方案!
關於這個stardict程式,請見此:在 emacs 中使用 stardict