跳至內容
出自 Arch Linux 中文维基

這篇文章的某些內容需要擴充。

原因:應當擴充一些內容,比如某些常用插件的配置、中國用戶的推薦解決方案等。 (在 Talk:Emacs/軟體包 中討論)

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 )。