2017-09-07 13:24:14 +02:00
|
|
|

|
|
|
|
[](https://travis-ci.org/hlissner/doom-emacs)
|
|
|
|
[](https://travis-ci.org/hlissner/doom-emacs)
|
2017-07-14 15:27:18 +02:00
|
|
|
[](./LICENSE)
|
2015-06-14 17:26:03 +02:00
|
|
|
|
2017-09-11 15:10:43 +03:00
|
|
|
[](/../../tree/screenshots)
|
2017-07-29 00:54:08 +02:00
|
|
|
|
|
|
|
- - -
|
|
|
|
|
|
|
|
<p align="center">
|
2017-09-05 18:25:07 +02:00
|
|
|
<a href="/../../wiki">Wiki</a> |
|
|
|
|
<a href="/../../tree/screenshots">Screenshots</a> |
|
2017-09-02 16:28:53 +02:00
|
|
|
<a href="/../../wiki/FAQ#troubleshooting">Troubleshooting</a> |
|
2017-08-22 01:16:33 +02:00
|
|
|
<a href="/../../wiki/FAQ">FAQ</a> |
|
2017-07-29 00:54:08 +02:00
|
|
|
<a href="/CHANGELOG.org">Changelog</a>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
- - -
|
2016-05-30 21:19:10 -04:00
|
|
|
|
2016-10-05 21:50:34 +02:00
|
|
|
<a href="http://ultravioletbat.deviantart.com/art/Yay-Evil-111710573">
|
2017-07-29 00:54:08 +02:00
|
|
|
<img src="/../screenshots/cacochan.png" align="right" />
|
2016-10-05 21:50:34 +02:00
|
|
|
</a>
|
2016-08-21 17:23:11 +02:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
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 finally succumbs to the [dark side][evil-mode]. This is his config.
|
|
|
|
|
2017-08-22 01:14:55 +02:00
|
|
|
DOOM's philosophy is simple: be **fast**, be **readable**, and be **pretty**. It
|
|
|
|
is tailored for neckbeards with a blue-belt or better in command-line-fu who
|
|
|
|
don't shy away from dabbling with Elisp.
|
2017-07-29 00:54:08 +02:00
|
|
|
|
2017-08-22 01:14:55 +02:00
|
|
|
Rip and tear. Until it compiles.
|
2016-05-30 21:19:10 -04:00
|
|
|
|
2017-11-03 19:11:52 +01:00
|
|
|
> **Important:** Doom **only** supports Emacs >= 25.1, and is tested on Arch
|
|
|
|
> Linux 4.7+ and Mac OS 10.11+. YMMV on other OSes and distros.
|
2016-08-21 17:23:11 +02:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
- - -
|
2016-05-23 20:56:19 -04:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
## Quick start
|
2015-06-14 17:26:03 +02:00
|
|
|
|
2016-10-05 21:50:34 +02:00
|
|
|
```bash
|
2017-09-07 13:24:14 +02:00
|
|
|
git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
|
2015-06-14 17:26:03 +02:00
|
|
|
cd ~/.emacs.d
|
2017-02-20 00:19:12 -05:00
|
|
|
cp init.example.el init.el # maybe edit init.el
|
|
|
|
make install
|
2017-05-26 01:56:57 +02:00
|
|
|
```
|
2017-05-25 20:08:50 +02:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
Visit the wiki for [a more detailed guide on installing, customizing and
|
|
|
|
grokking Doom][wiki].
|
|
|
|
|
|
|
|
## Feature highlights
|
|
|
|
|
|
|
|
+ A fast, organized and opinionated Emacs configuration with a command line
|
|
|
|
interface.
|
|
|
|
+ A custom, declarative [package management system][doom-packages] that combines
|
|
|
|
package.el, [use-package] and [quelpa]. This lets you install packages from
|
|
|
|
sources other than ELPA, as well as manage packages from the command line.
|
|
|
|
+ A [popup management system][doom-popups] (powered by [shackle]) that minimizes
|
|
|
|
the presence and footprint of temporary and/or disposable buffers.
|
|
|
|
+ A vim-like experience with [evil-mode], including ports for several vim
|
|
|
|
plugins, <kbd>C-x</kbd> omnicompletion and a slew of [custom ex commands][doom-my-commands].
|
|
|
|
+ Integration with [editorconfig]. Let someone else argue about tabs and spaces
|
|
|
|
(spaces, duh).
|
|
|
|
+ Code completion for a variety of languages, powered by [company-mode] (there
|
|
|
|
may be other dependencies for certain languages).
|
|
|
|
+ Project-awareness powered by [projectile], with tools to navigate and manage
|
|
|
|
projects and project files.
|
|
|
|
+ Fast project search (and replace) utilities, powered by [the_silver_searcher],
|
|
|
|
[ripgrep] and [wgrep], with [ivy] (the default), [helm] and ido integration.
|
|
|
|
+ Isolated and persistent workspaces powered by [persp-mode]. This can
|
|
|
|
substitute for vim tabs.
|
|
|
|
+ Inline/live code evaluation (using [quickrun]), including REPLs for a variety
|
|
|
|
of languages.
|
2017-05-25 20:08:50 +02:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
## Troubleshooting
|
2017-05-26 01:56:57 +02:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
Found a problem? Here are some things to try:
|
2016-05-30 21:19:10 -04:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
+ Make sure all plugins are installed with `make install`.
|
|
|
|
+ A `void-function` or `void-variable` might signal an out-of-date autoloads
|
|
|
|
file. Update it with `make autoloads`.
|
|
|
|
+ Diagnose common OS/environment issues that could interfere with Emacs with
|
|
|
|
`make doctor`.
|
|
|
|
+ If you byte-compiled Doom, run `make clean` or `M-x doom/clean-compiled-files`
|
|
|
|
and restart Emacs. Never debug byte-compiled code, it will interfere with your
|
|
|
|
efforts in subtle (and not-so-subtle) ways.
|
2017-08-22 22:16:55 +02:00
|
|
|
+ Check [the FAQ][wiki-troubleshooting] to see if your issue is mentioned.
|
|
|
|
+ If your issue is associated with a particular module, like code-completion,
|
|
|
|
check the module's README.org, if any.
|
2016-06-07 02:20:50 -04:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
If all else fails, [file a bug report][doom-new-issue].
|
2016-06-07 02:20:50 -04:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
## Contribute
|
2017-05-25 20:08:50 +02:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
Doom (and my Emacs work in general) is a labor of love and incurable madness,
|
|
|
|
done on my free time. It wasn't intended for public use, but I enjoy making Doom
|
|
|
|
a resource for others.
|
2017-05-25 20:08:50 +02:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
If you'd like to support my efforts, I welcome contributions of any kind:
|
2017-05-25 20:08:50 +02:00
|
|
|
|
2017-09-11 17:01:59 +02:00
|
|
|
+ I love pull requests and bug reports, and elisp pointers are especially
|
2017-07-29 00:54:08 +02:00
|
|
|
welcome. Seriously, don't hesitate to [tell me my Elisp-fu
|
|
|
|
sucks][doom-new-issue]!
|
|
|
|
+ I'm happy to discuss Emacs workflow, ideas or tooling. If you think I, Doom or
|
|
|
|
other Emacs users could benefit from them (or you just want to chat), drop me
|
|
|
|
a line at henrik@lissner.net. I'm eager to learn.
|
2016-09-09 09:00:34 +02:00
|
|
|
|
|
|
|
|
2017-08-22 01:16:33 +02:00
|
|
|
[wiki]: /../../wiki
|
|
|
|
[wiki-conventions]: /../../wiki/Conventions
|
|
|
|
[wiki-modules]: /../../wiki/Modules
|
|
|
|
[wiki-customization]: /../../wiki/Customization
|
2017-08-22 22:16:55 +02:00
|
|
|
[wiki-troubleshooting]: /../../wiki/FAQ#troubleshooting
|
2016-09-09 09:00:34 +02:00
|
|
|
|
2017-07-29 00:54:08 +02:00
|
|
|
[doom-my-bindings]: modules/private/hlissner/+bindings.el
|
|
|
|
[doom-my-commands]: modules/private/hlissner/+commands.el
|
2017-09-07 13:24:14 +02:00
|
|
|
[doom-new-issue]: https://github.com/hlissner/doom-emacs/issues/new
|
2017-07-29 00:54:08 +02:00
|
|
|
[doom-packages]: core/autoload/packages.el
|
|
|
|
[doom-popups]: core/core-popups.el
|
2017-05-04 10:57:03 +02:00
|
|
|
[doom-theme]: https://github.com/hlissner/emacs-doom-theme
|
2017-07-29 00:54:08 +02:00
|
|
|
|
|
|
|
[company-mode]: https://github.com/company-mode/company-mode
|
2017-05-04 10:57:03 +02:00
|
|
|
[editorconfig]: http://editorconfig.org/
|
2017-07-29 00:54:08 +02:00
|
|
|
[evil-mode]: https://github.com/emacs-evil/evil
|
|
|
|
[git-gutter-fringe]: https://github.com/syohex/emacs-git-gutter-fringe
|
|
|
|
[helm]: https://github.com/emacs-helm/helm
|
|
|
|
[ivy]: https://github.com/abo-abo/swiper
|
|
|
|
[persp-mode]: https://github.com/Bad-ptr/persp-mode.el
|
|
|
|
[projectile]: https://github.com/bbatsov/projectile
|
|
|
|
[quelpa]: https://github.com/quelpa/quelpa
|
|
|
|
[quickrun]: https://github.com/syohex/emacs-quickrun
|
|
|
|
[ripgrep]: https://github.com/BurntSushi/ripgrep
|
|
|
|
[shackle]: https://github.com/wasamasa/shackle
|
|
|
|
[the_silver_searcher]: https://github.com/ggreer/the_silver_searcher
|
|
|
|
[use-package]: https://github.com/jwiegley/use-package
|
2017-05-04 10:57:03 +02:00
|
|
|
[vim]: https://github.com/hlissner/.vim
|
2017-07-29 00:54:08 +02:00
|
|
|
[wgrep]: https://github.com/mhayashi1120/Emacs-wgrep
|
|
|
|
|