hlissner/doom-emacs

Created Feb 20, 2021 · View the hlissner/doom-emacs repository page

An Emacs framework for the stubborn martian hacker

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

472

Lines of Code

26,831

From

Jul 12, 2014

To

Feb 17, 2021

About hlissner/doom-emacs

Doom Emacs is a configuration framework for GNU Emacs designed specifically for users transitioning from Vim who want the features of modern editors without unnecessary bloat. It combines strong opinions about sensible defaults with flexibility, allowing users to adopt as much or as little of the framework as they need. The project prioritizes performance through lazy loading and package optimizations, aiming to startup and run as fast as a hand-rolled configuration.

The framework provides approximately 150 optional modules covering language support, development tools, UI enhancements, and workflow features. It includes vim emulation through evil-mode with ports of popular vim plugins like vim-sneak and vim-easymotion, LSP integration for multiple languages, support for numerous programming languages with syntax highlighting and linters, project management tools, and a declarative package management system powered by straight.el that allows pinning packages to specific commits. Additional features include popup window management, workspace isolation, editorconfig integration, and support for Chinese and Japanese input methods.

Doom targets experienced Emacs users and Vim refugees who appreciate explicit system control and reproducible configurations. It requires GNU Emacs 27.1 or later, Git, and ripgrep, with optional dependencies like fd for enhanced performance. The project includes command-line utilities such as `doom doctor` for diagnosing configuration issues, `doom sync` for maintaining package state, and `doom upgrade` for updating the framework and packages.

Share this video