學 Emacs 最好的方法除了多用,另一點應該就是請務必學 Lisp。網路上教 Emacs 的文章已經太多太多了,但要學 Lisp 就有點累人了,不知該從何下手。
個人覺得學 Emacs Lisp 其實不一定要靠 GNU 提供的那厚厚一堆文件,對我來說我就沒啥耐心看那個…下面整理了一些 Emacs Lisp 的學習資源,不多但都非常值得參考。
##聖經
–適合慢慢當書來翻
ANSI Common Lisp 中文版 : Paul Graham 大神!這本是我心中 Lisp 入門的聖經,因為他真的成功讓我這種沒有程式基礎的傢伙看懂了…(<=這人到現在只看到第二章就在寫東西了,可見 code 品質…) ,裡面非常多範例,很合我的胃口。雖然是 Common Lisp,但這些 Lisp 概念對於學習 Emacs Lisp 依舊是非常好的入門方式。非常推薦!
Xah Emacs Tutorial 與 Xah Emacs Lisp Tutorial : Xah Lee 的 Emacs 教學,應該已經成為很多初學者的學習指南。我主要是看他的 Lisp 部份,整理了超多 Emacs Lisp 的範例與實戰經驗,例如要怎麼用 elisp 把一個網站中的 HTML 標籤替換掉。
- ElispCookbook : Emacs wiki 上的超棒條目,有很多很常見的文字處理用法整理。
##搜尋用
- GNU 文件 沒事基本上不會拿起來翻的東西,但完整性沒話說。查詢一些 Emacs Lisp 獨有用法時(例如
save-excursion
),GNU 文件就非常非常有用。 - Emacs 內建文件: 不要忘記這個,忘記 function 用法時他非常有用(例如我老是記不得
match-string
跟string-match
的差別)。可以再搭配這個 function 服用會更方便。 - Emacs Wiki 龐大的社群,很多知名的 .el 在上面都找得到,但這主要也是用搜尋引擎找內容。
##問問題
- Emacs 的 IRC:EmacsLisp 寫一寫遇到問題但又懶得發文問,急著想找問題癥結,那就上 IRC 吧,隨時有五、六百人上線的超大聊天室,問題可以得到快速解決,非常棒!伺服器是
irc.freenode.org
,聊天室是#emacs
。也有一個台灣的社群,人少但也有熱心的大神;一樣是在 freenode 上,聊天室是#emacs.tw
。 - StackOverflow: 這不用多說明了吧。