微信优化

weixinyouhua

Doom永恒游戏配置要求高吗?Doom配置要求详细介绍

2026-09-10 18:23:48

Doom Emacs 配置的核心思路是把所有定制收敛到 ~/.doom.d 目录下三个文件init.el 声明模块、config.el 写个人配置、packages.el 管理额外插件,配合 doom sync 命令完成依赖自动拉取和编译。

Doom Emacs 安装配置:从零搭建你的专属编辑器

上手 Doom Emacs 之前,先确认系统里已经装好基础工具,Emacs 版本建议在 27.1 以上,顺手装上 Git、ripgrep 和 fd,后两个工具负责文件搜索和内容检索,Doom 的很多命令都依赖它们,macOS 用户可以用 Homebrew 安装,Linux 发行版直接走包管理器,Windows 用户推荐在 WSL 里操作,可以避开不少路径和符号链接的坑。

克隆主仓库是第一步,把 Doom Emacs 放到 Emacs 默认配置目录:

git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.emacs.d

克隆完成后进入目录,执行安装命令:

~/.emacs.d/bin/doom install

这个命令会自动生成 ~/.doom.d 目录,并创建 init.el、config.el、packages.el 三个核心文件,如果之前已经有旧配置,建议先备份再操作,安装过程中会自动拉取一批依赖包,国内网络环境下可能会比较慢,可以先把 GitHub 访问问题解决掉,后面有专门章节讲国内源配置。

装完以后把 doom 命令加到 PATH 里,在 ~/.bashrc、~/.zshrc 或对应 shell 配置文件中加入:

export PATH="$HOME/.emacs.d/bin:$PATH"

这样后续在终端直接敲 doom 命令就行,不用每次输入完整路径,重启终端后可以跑一下 doom doctor 检查环境是否正常。

Doom Emacs 和 Spacemacs 对比:为什么选 Doom 的人越来越多

很多从 Spacemacs 转过来的用户会直接问这个对比问题,两者都是 Emacs 配置框架,目标也相似把零散配置整合成开箱即用的工具集,但路线差异很大。

先看配置结构,Spacemacs 用 layer 组织功能,每个 layer 是一组相关包和键位,Doom Emacs 用 module 管理,模块声明更简单,一行就能开启一个语言或工具集合:

Doom永恒游戏配置要求高吗?Doom配置要求详细介绍

lang python
:tools magit
:editor evil

再看启动速度,Doom Emacs 采用懒加载机制,多数模块在第一次真正使用时才加载,Spacemacs 默认加载的层较多,启动时间往往更长,多数情况下 Doom Emacs 的冷启动体验明显更利落。

包管理机制也不同,Doom 使用 straight.el 管理包,支持直接克隆 Git 仓库、锁定版本、重现代码环境,Spacemacs 主要依赖 package.el,包来源更传统,处理 Git 依赖相对繁琐。

对比维度 Doom Emacs Spacemacs
配置入口 ~/.doom.d 下三个文件 ~/.spacemacs 单文件为主
模块声明 doom! 宏,简短直观 layer 列表,需了解命名规则
包管理器 straight.el package.el
启动策略 懒加载为主 默认加载较多层
学习成本 初期更低,概念集中 需理解 layer 层级关系

行业共识认为,Doom Emacs 在当前 Emacs 配置框架中的启动速度和模块扩展性上已经形成明显优势,据 GitHub 公开信息,近年来其仓库活跃度和社区讨论量在同类项目中处于第一梯队。

Doom Emacs 怎么配置:核心文件与模块管理

Doom Emacs 的配置逻辑非常直白:在 init.el 里声明你想要什么,在 config.el 里写具体怎么调,在 packages.el 里加额外插件,三个文件各管一摊事,界限清楚。

init.el 声明模块

打开 ~/.doom.d/init.el,会看到 doom! 宏下面列着一堆模块,每一行代表一个类别。

doom! :completion
       vertico
       :ui
       doom
       doom-dashboard
       :editor
       evil
       snippets
       :lang
       python
       markdown
       :tools
       magit

修改完模块后必须跑 doom sync,Doom 会根据声明自动安装缺失包、生成编译缓存,这个命令是配置流程里的固定动作。

Doom永恒游戏配置要求高吗?Doom配置要求详细介绍

config.el 个性化定制

config.el 里使用 after! 宏针对某个模块或包做覆写,例如开启行号显示并更换一部分键位:

(after! doom
  (setq display-line-numbers-type 'relative))
(after! evil
  (setq evil-want-C-u-scroll t))

这里有个细节,不要把所有 setq 直接堆在 config.el 顶层,能放进 after! 的尽量放进去,加载顺序更可控,也不容易因为包还没加载就引用变量导致启动报错。

packages.el 管理额外插件

Doom 自带模块覆盖不了需求,就用 packages.el 添加外部包,格式很简单:

(package! cheatsheet)
(package! org-roam
  :recipe (:host github :repo "org-roam/org-roam"))

加完再跑 doom sync,Doom 会自动拉取源码并编译。

主题切换实操

Doom Emacs 怎么配置主题也是高频需求,默认主题是 doom-one,在 config.el 中修改:

(setq doom-theme 'doom-one)

想要换官方其他主题,doom-dracula,直接改这个变量即可:

(setq doom-theme 'doom-dracula)

但前提是主题包已经加载,Doom 内置了一批主题,如果要用第三方主题,需要先在 packages.el 里声明对应的主题包,再在 config.el 中设置 doom-theme。

常用维护命令

  • doom sync:同步模块、安装包、编译配置
  • doom doctor:检查环境依赖,找出缺失工具
  • doom upgrade:升级 Doom Emacs 本身
  • doom purge:清理未使用的包和缓存

这几个命令组合起来就能覆盖日常维护,sync 和 doctor 就够应付八成场景。

Doom Emacs 国内源配置:让同步速度起飞

国内用户最头疼的无非是拉取 GitHub 仓库和 Elpa 源时的龟速,这个问题可以通过两边一起解决:一边改 Git 协议转发,一边换国内镜像。

Git 全局 URL 重写

在 ~/.gitconfig 中添加 URL 重写规则,让所有 GitHub 请求走加速前缀,选择一个当前可用的 GitHub 加速服务前缀,替换下面的示例地址:

Doom永恒游戏配置要求高吗?Doom配置要求详细介绍

[url "https://加速前缀/https://github.com/"]
    insteadOf = https://github.com/

这样 Doom 内部用 straight.el 克隆 GitHub 仓库时会自动走加速通道,需要注意的是,不同加速服务稳定性不同,如果同步失败,可以换一个前缀再试。

Elpa 源镜像

Doom 大量使用 straight.el 直接拉 GitHub 源码,但部分包仍然会走 Elpa 源,在 init.el 或 config.el 中设置包源镜像即可,以清华镜像为例:

(setq package-archives
      '(("melpa" . "https://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")
        ("gnu"   . "https://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")))

如果使用 straight.el 时出现某些包拉取失败,也可以单独给 straight 设置协议和仓库路径,但多数情况下,Git URL 重写配合 Elpa 镜像已经能让同步时间大幅缩短。

Doom Emacs 常见问题快问快答

Doom Emacs 配置文件在哪?

主配置目录是 ~/.doom.d,init.el、config.el、packages.el 是最核心的三个文件,Windows WSL 用户注意,这个路径位于 Linux 子系统的家目录,不是 Windows 文件系统下的家目录。

Doom Emacs 怎么配置主题?

在 config.el 中设置 doom-theme 变量,(setq doom-theme ‘doom-one),保存后执行 doom sync,使用第三方主题前,需要先在 packages.el 中用 package! 声明主题包。

Doom Emacs 国内源配置有哪些推荐?

推荐通过 Git 全局 URL 重写加上 Elpa 镜像双管齐下,在 ~/.gitconfig 中配置 GitHub 加速转发,在 config.el 中设置清华或中科大包源镜像,多数情况下同步时间会从几十分钟缩短到几分钟,具体效果依赖网络环境和镜像服务状态。

把配置全部收敛到三个文件管理,保持 init.el 只声明、config.el 只定制、packages.el 只加包,Doom Emacs 就能长期保持可维护、可迁移,配置越简单,后期踩坑越少。

相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待