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+. Для одного только CLI нужен Emacs 27.1+, а если использовать Doom как стартовый набор — 29.1+. fd необязателен, но улучшает индексацию файлов.
Каких сборок Emacs мне стоит избегать?Нестабильных и предварительных сборок Emacs — версий, оканчивающихся на .50, .60 или .9X (например, 28.1.91); их поддержка отстаёт от самых свежих релизов примерно на месяц. Запустите 'doom doctor', чтобы найти всё недостающее в вашей системе.
Я пользуюсь Vim — сохранится ли моя мышечная память?Да — есть необязательная эмуляция Vim через evil-mode, включая порты популярных плагинов вроде vim-sneak, vim-easymotion и vim-unimpaired, а также схему лидирующих клавиш в духе Spacemacs с центром на SPC.
Превращает ли он Emacs в полноценную IDE?Да: по желанию подключается LSP через lsp-mode или eglot, плюс подсветка синтаксиса, линтеры, автодополнение кода, REPL, сниппеты, поиск по документации и поиск по проекту на базе ripgrep во множестве языков.
Можно ли зафиксировать версии пакетов или откатить обновление?Управление пакетами декларативное (на базе straight.el) и с CLI: пакеты можно ставить откуда угодно, не только из (M)ELPA, и закреплять на любом коммите. Откат релизов и обновлений пока в разработке.
Сайт doomemacs.com — официальный?Нет — doomemacs.com не связан с проектом и не одобрен им. Единственный официальный домен — doomemacs.org.
Creator
doomemacs
Size
35.3 MB
Stars
22.8K
Updated
CommitOct 02
Age
12y
Commits · 90 Days