跳转到内容
来自 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 )。