Doom Emacs 包管理

Doom Emacs 不使用内置于 Emacs 的 package.el,而是基于 straight.el 构建了自己的声明式包管理器。

如何安装包

在 Doom Emacs 打开状态下,SPC f p 打开配置:

首先打开 .doom.d/package.el,声明包依赖,比如:

(package! copilot
  :recipe (:host github :repo "zerolfx/copilot.el" :files ("*.el" "dist")))

之后关闭当前文件,执行 doom refresh

再打开 .doom.d/config.el 进行包的设置:

(use-package! copilot
  :hook (prog-mode . copilot-mode)
  :bind (:map copilot-completion-map
              ("<tab>" . 'copilot-accept-completion)
              ("TAB" . 'copilot-accept-completion)
              ("C-TAB" . 'copilot-accept-completion-by-word)
              ("C-<tab>" . 'copilot-accept-completion-by-word)))

更多设置技巧:

包的声明方式

基础安装方式

包在 packages.el 文件中声明。例如:

(package! example)

新包的安装需要运行 doom sync

从外部源安装包

可以直接从外部源(如 GitHub、GitLab 等)安装包,需要指定 MELPA 样式的 straight 配方。例如:

(package! example :recipe (:host github :repo "username/my-example-fork"))

指定特定提交

Doom 的包默认被固定到特定提交。可以使用 :pin 属性或 unpin! 宏来固定或取消固定包。

禁用包

使用 :disable 属性或 disable-packages! 宏来禁用不需要的包。

使用/加载本地包

如果正在本地开发一个 Emacs 包并希望进行实时测试,可以在包的配方中指定 :local-repo。例如:

(package! my-package :recipe (:local-repo "/path/to/my/package"))

本文作者:Maeiee

本文链接:Doom Emacs 包管理

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!