Emacs 的功能可以通過第三方軟體包進行擴展。官方支持使用內置的軟體包管理器 package.el
,不過 Emacs 社區成員還編寫了其他一些軟體包管理器。package.el
依靠變量 package-archives
查找軟體包。默認情況下,這包括 Emacs Lisp Package Archive (ELPA)。M-x list-packages
將創建一個緩衝區,列出 Emacs 知道的所有軟體包。手冊((info "(emacs) Packages") )包含更多信息。
可以添加第三方軟體包存檔。其中使用最廣泛的是 MELPA。
許多流行的擴展以軟體包的形式出現在官方軟體倉庫中,更多的擴展則通過AUR提供。這些軟體包的名稱通常帶有 emacs- 前綴(例如 emacs-lua-mode包),但也不總是如此(例如 auctexAUR)。
有些軟體包可能需要修改配置文件才能激活,以便在 Emacs 會話中使用其功能。例如,如果安裝了 auctexAUR,則需要在配置文件中添加
(load "auctex.el" nil t t) (load "preview-latex.el" nil t t)
到配置文件中。其他軟體包會在原始碼的注釋部分或 README 中告訴你如何激活它們。
軟體鏡像源
中國大陸用戶可能會需要 ELPA 鏡像站以加速軟體包下載。
校園網聯合鏡像站列出了國內已知許多 ELPA 鏡像。
對於大多數鏡像源,需要設置 package-archives
。比如用北京外國語大學開源軟體鏡像站提供的 GNU ELPA 和 MELPA 鏡像:
(setq package-archives '(("gnu" . "https://mirrors.bfsu.edu.cn/elpa/gnu/") ("nongnu" . "https://mirrors.bfsu.edu.cn/elpa/nongnu/") ("melpa" . "https://mirrors.bfsu.edu.cn/elpa/melpa/"))) (package-initialize) ;; 您的配置文件裡可能已經有了這一行
瀏覽各鏡像站幫助頁面以獲取詳細信息。
use-package
自 Emacs 29.1 起,use-package 已隨 Emacs 一起提供。use-package 宏允許你以聲明的方式在啟動文件中設置軟體包自定義。它可以幫你處理許多原本需要大量重複模板代碼的事情。它可以幫助進行常見的自定義,如綁定鍵、設置鉤子、自定義用戶選項和 face、自動加載等。它還能幫助你保持 Emacs 的啟動速度,即使你使用了很多(甚至上百個)軟體包。
請注意,use-package 並不是軟體包管理器。儘管 use-package 具有與 Emacs 軟體包管理器接口的實用功能,但它的主要用途是幫助配置和加載軟體包,而不是管理軟體包的下載、升級和安裝。
更多信息,請參閱 Info 手冊 「(use-package) Top」(在線閱讀:https://elpa.gnu.org/devel/doc/use-package.html )。