我的第一個Emacs擴充套件

samael發表於2015-02-02

之前寫過2015年的讀書計劃,在寫的時候發現使用Markdown插入圖書連結很不方便, 所以乾脆藉著這次機會去學習一下如何寫Emacs的擴充套件。

功能

程式碼不長,實現步驟也很簡單,就是使用豆瓣的API進行書名的搜尋並顯示到一個新的Buffer裡, 之後通過選擇進行插入。包括了以下幾個函式:

  • search-db-book(呼叫API去查詢圖書)

  • show-books(把查詢結果顯示到一個新的Buffer中)

  • select-book(選擇並插入條目)

使用方法

使用方法很簡單:

  1. M-x search-db-book
  2. 輸入書名
  3. 選擇結果

使用

圖靈好像不支援gif, 請移步到: https://i.iter01.com/images/51554c6be09bfdcf3e6541703af2fb5223b12140521a7468c309b1c5388f140f.gif

現有的不足

因為elisp也是剛學,一些概念也不是很清晰,所以還是有一些不足擴充套件。

  • 函式作用域是全域性的,但是輸出的是Markdown標記,應該在markdown-mode下進行擴充套件。

  • 其實不光應該加圖書的標記,還可以加電影之類的。

  • 豆瓣的API限制了一些查詢,如結果數量,查詢次數

參考資料

Writing GNU Emacs Extensions

GNU Emacs Lisp 程式設計入門

http://xahlee.org/

相關文章