《學習 GNU EMACS 第二版》學習筆記 (一) 如何創建本身的LISP開發庫

《學習 GNU EMACS 第二版》學習筆記 (一) 如何創建本身的LISP開發庫

P.458
當你在作了必定數量的LISP程序開發以後,你已經積累了一部分本身寫的LISP函數,也許你很想把它們打包到一塊兒作爲一個開發包來使用,這樣能夠很方便地隨時調用(固然,你能夠把一些函數放在 .emacs 文件中加載,可是一旦數量較多這麼作就不太方便了)。 app

須要2個步驟: 函數

一、建立一個目錄,把你的 lisp 代碼拷貝到這個目錄下; 學習

二、讓EMACS知道有這個目錄,這樣當你試圖加載某個程序包時,EMACS才能知道在哪裏去找。EMACS把這類目錄都記錄在全局變量 load-path 中,該變量的值是一個由字符串元素組成的列表,每一個字符串是一個目錄名。
假設你的LISP代碼的目錄名爲「~mycode/lisp「,那麼須要把以下語句添加到 .emacs 文件中:
(setq load-path (append load-path (list "~mycoe/lisp")))
該命令執行後,當你試圖加載某個函數時,EMACS會按照目錄在 load-path 變量中出現的前後順序進行查找,也就是說咱們新加的目錄 "~mycoe/lisp」 在 load-path 變量的最後,因此最後一個被搜索到。 命令行

若是但願先從你新設的 "~mycoe/lisp" 目錄查起,則以下設置:
(setq load-path (cons load-path (list "~mycoe/lisp")))

接下來就能夠加載和使用本身開發的LISP程序包了,下面提供了4種方法:
一、輸入用戶級命令 alt-x load-library 回車。
二、在LISP代碼裏(一般是你的 .emacs 文件)里加入語句 (load "package-name")。若是該語句是加在 .emacs 文件裏,EMACS會在起點時加載你指定的名爲 package-name 的包。
三、給用來啓動 emacs 的命令(runemacs.exe)加上一個命令行參數 「-l package-name」。該操做將加載指定的程序包,在 emacs-24.2 中能夠這樣使用 runemacs.exe --eval (load \"lispbox\")。
四、在LISP代碼裏(一般是你的 .emacs 文件)里加入語句 (autoload ‘function 「filename"),這個操做將在執行給定函數 function 時讓 emacs 自動加載相應的程序包。 code

相關文章
相關標籤/搜索