core README

The project's README from github.com/doomemacs/core. As one markdown file: README.md.

[!CAUTION] doomemacs.com is not associated with nor endorsed by this project! doomemacs.org is our one and only domain. Read our announcement about it here.


Doom Emacs

Install • Documentation • FAQ • Screenshots • Contribute

Made with Doom Emacs Supports Emacs 27.1–31.1 Latest commit

Discord Server Github Discussions

Doom Emacs Screenshot


Table of Contents

Introduction

It is a story as old as time. A stubborn, shell-dwelling, and melodramatic vimmer—envious of the features of modern text editors—spirals into despair before he succumbs to the dark side. This is his config.

Doom is a configuration framework for GNU Emacs tailored for Emacs bankruptcy veterans who want less framework in their frameworks, a modicum of stability (and reproducibility) from their package manager, and the performance of a hand rolled config (or better). It can be a foundation for your own config or a resource for Emacs enthusiasts to learn more about our favorite operating system.

Its design is guided by these mantras:

Check out the FAQ for answers to common questions about the project.

Features

Prerequisites

[!WARNING] Avoid unstable and pre-release builds of Emacs. These end in .50, .60, or .9X (e.g. 28.1.91). Doom should generally work on Emacs HEAD (the maintainer dogfoods it), but support lags behind the bleeding edge by at least a month or so.

[!IMPORTANT] Doom is comprised of ~150 optional modules, some of which may have additional dependencies. Visit their documentation or run bin/doom doctor to check for any that you may have missed.

Install

git clone --depth 1 https://github.com/doomemacs/core ~/.config/emacs
~/.config/emacs/bin/doom install

Then read our Getting Started guide to be walked through installing, configuring and maintaining Doom Emacs.

It's a good idea to add ~/.config/emacs/bin to your PATH! Other bin/doom commands you should know about:

Roadmap

Doom is an active and ongoing project. To make that development more transparent, its roadmap (and other concerns) are published across three github project boards and a newsletter:

Getting help

Emacs is no journey of a mere thousand miles. You will run into problems and mysterious errors. When you do, here are some places you can look for help:

Contribute

PRs Welcome Elisp styleguide Donate on liberapay Donate on paypal

Doom is a labor of love and incurable madness, but I'm only one guy. Doom wouldn't be where it is today without your help. I welcome contributions of any kind!

LLM Policy

Generative AI is not used in the development of this project (except to test, debug, and improve LLM modules). LLM-generated (or assisted) contributions are highly discouraged, but tolerated so long as they meet the following criteria:

  1. LLM-generated contributions are small,
  2. LLM-use is disclosed,
  3. Issue and pull request templates are followed (it is disruptive when LLMs omit key information and AI disclosures, or follow arbitrary heading structures),
  4. Your M-x doom/info must be uploaded as a file, not published as text in the issue/PR.[^1]
  5. A human responds to reviews and questions.

Failing that, related issues/PRs will be immediately closed and refused with notice. Repeat offenders will be banned.

[^1]: A file-upload is used because doom-infos are filled with keywords that pollute search engine results and make issues harder for users/maintainers to find.

core (doomemacs/core)

Searching Database…

22.8K ·GitHub
这是什么?Doom Emacs 是一个 GNU Emacs 的配置框架——速度快、有鲜明主张、模块化,用起来像手工精心调校的配置一样流畅。你可以直接拿来用,也可以把它作为自己配置的基础。
Doom 是一个需要单独安装的编辑器,还是套在 Emacs 之上的配置?它不是一个独立的编辑器:它是安装在 GNU Emacs 之上的配置框架。你想用多少就用多少——它可以作为你自己专属配置的基础。
运行之前我需要先装好哪些东西?GNU Emacs 27.1–31.1(推荐 31.1)、Git 2.23+ 和 ripgrep 11.0+。只用命令行工具的话需要 Emacs 27.1+;把 Doom 当作入门套件来用则需要 29.1+。fd 是可选的,但能提升文件索引速度。
哪些 Emacs 版本我应该避开?不稳定和预发布版的 Emacs——版本号以 .50、.60 或 .9X 结尾的(比如 28.1.91);对这类版本的支持会比最新版晚大约一个月。运行 'doom doctor' 可以检查你的系统缺少什么。
我是 Vim 用户——我的肌肉记忆还能保住吗?能——可以通过 evil-mode 使用可选的 Vim 模拟,包括 vim-sneak、vim-easymotion 和 vim-unimpaired 等热门插件的移植版,还有一套以 SPC 为核心、类似 Spacemacs 的前导键(leader key)方案。
它能把 Emacs 变成真正的 IDE 吗?可以选用 lsp-mode 或 eglot 来集成 LSP,此外还有语法高亮、代码检查、代码补全、REPL、代码片段、文档查阅,以及基于 ripgrep 的跨多种语言的项目搜索。
我能锁定软件包版本或回滚一次更新吗?软件包管理是声明式的(由 straight.el 驱动)并配有命令行工具:可以从任何来源安装软件包,不限于 (M)ELPA,还能把包固定到任意提交(commit)。回滚发行版和更新目前仍在开发中。
doomemacs.com 是官方网站吗?不是——doomemacs.com 与该项目没有任何关联,也未获得其认可。doomemacs.org 是唯一官方域名。
Creator
doomemacs
Size
35.3 MB
Stars
22.8K
Updated
CommitOct 02
Age
12y
Commits · 90 Days