README: general revision

This commit is contained in:
Henrik Lissner 2019-10-19 22:18:23 -04:00
parent b45a9c5e03
commit fb692a843f
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 66 additions and 72 deletions

134
README.md
View file

@ -1,14 +1,14 @@
<a href="http://doomemacs.org"> <a href="http://doomemacs.org">
<img src="https://img.shields.io/github/tag/hlissner/doom-emacs.svg?label=release&style=for-the-badge&color=orange" alt="Made with Doom Emacs"> <img src="https://img.shields.io/github/tag/hlissner/doom-emacs.svg?label=release&color=orange" alt="Made with Doom Emacs">
</a> </a>
<a href="https://emacs.org"> <a href="https://emacs.org">
<img src="https://img.shields.io/badge/Made_for-Emacs_25.3+-blueviolet.svg?style=for-the-badge" alt="Made for Emacs 25.3+"> <img src="https://img.shields.io/badge/Made_for-Emacs_25.3+-blueviolet.svg" alt="Made for Emacs 25.3+">
</a> </a>
<a href="https://github.com/hlissner/doom-emacs/actions"> <a href="https://github.com/hlissner/doom-emacs/actions">
<img src="https://github.com/hlissner/doom-emacs/workflows/CI/badge.svg" alt="Build status: develop"> <img src="https://github.com/hlissner/doom-emacs/workflows/CI/badge.svg" alt="Build status: develop">
</a> </a>
<a href="https://discord.gg/bcZ6P3y"> <a href="https://discord.gg/bcZ6P3y">
<img src="https://img.shields.io/badge/Discord-blue.svg?logo=discord&label=join&style=for-the-badge" alt="Join our discord server" align="right"> <img src="https://img.shields.io/badge/Discord-blue.svg?logo=discord&label=join" alt="Join our discord server" align="right">
</a> </a>
<br><br> <br><br>
@ -39,9 +39,11 @@ git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
- [What is Doom Emacs](#what-is-doom-emacs) - [What is Doom Emacs](#what-is-doom-emacs)
- [Doom's mantras](#dooms-mantras) - [Doom's mantras](#dooms-mantras)
- [Feature highlights](#feature-highlights) - [Features](#features)
- [Getting Help](#getting-help) - [Getting Help](#getting-help)
- [Contributing](#contributing) - [Community](#community)
- [Troubleshooting](#troubleshooting)
- [Contributing](#contributing)
# What is Doom Emacs # What is Doom Emacs
@ -53,62 +55,64 @@ 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 vimmer -- envious of the features of modern text editors -- spirals into despair
before succumbing to the [dark side][url:evil-mode]. This is his config. before succumbing to the [dark side][url:evil-mode]. This is his config.
Doom is a configuration for [GNU Emacs](https://www.gnu.org/software/emacs/). It Doom is a configuration for [GNU Emacs](https://www.gnu.org/software/emacs/)
can be used as framework for your own configuration, or as a resource for fellow designed to make Emacs faster and easier to customize. It can serve as framework
Emacs enthusiasts who want to learn more about our favorite OS. for your own configuration or a resource for fellow Emacs enthusiasts who want
to learn more about our favorite OS.
## Doom's mantras ## Doom's mantras
- **Gotta go fast.** Startup and runtime speed are priorities; many expensive, - **Gotta go fast.** Startup and run-time performance are high priorities.
heavy-handed packages have been modified to allow lazy loading or exploit Expensive plugins and functionality is modified and optimized toward this end,
caching. otherwise, they must be opt-in.
- **Close to metal.** There's less between you and vanilla Emacs, by design; - **Close to metal.** There's less between you and vanilla Emacs, by design.
that means less to grok. Modules should be syntactically sweet and backend There's less to grok. Modules should be syntactically sweet and backend logic
logic explicit and abstraction-light. explicit and abstraction-light. The code itself ought to be designed as if
- **Assembly required.** Doom trusts you, for better or worse. It inherits your reading it were part of the user experience; and it is!
shell configuration, warts et all. If your system is misconfigured, Doom is - **Opinionated, but not stubborn.** Doom is a bundle of reasonable defaults
misconfigured. and curated opinions, but you aren't stuck with it. Use as little or as much
- **Opinionated, but not stubborn.** Doom Emacs is a bundle of reasonable of it as you like. Use it as-is as a complete Emacs distribution; disable
defaults and curated opinions, catered particularly to vimmers, but that's no everything and use it as a baseline for your own; or anywhere in between.
reason you should be stuck with it. Use as little or as much of Doom as you
like. Use it as a complete Emacs distribution, a baseline for your own, or
anywhere in between.
## Feature Highlights ## Features
- A fabulous, minimalistic interface and theme inspired by modern editors - A curated set of sane defaults for all packages, all (major) OSes, and Emacs
(particularly Atom and sublime text). itself.
- A modular architecture for your Emacs configuration with sane defaults. - Support for *many* programming languages. Too many to list. Includes syntax
- A declarative [package management system][doom:packages] managed from the highlighting, linters/checker integration, inline code evaluation, code
command line, which allows you to install packages from anywhere. completion (where possible), REPLs, documentation lookups, snippets, and more!
- A [popup management system][doom:popups] with customizable rules to dictate - Support for *many* tools, like docker, pass, ansible, terraform, and more.
how temporary/disposable buffers are displayed. - Minimalistic good looks inspired by modern editors.
- A vim-centric (and optional) experience with [evil-mode][url:evil-mode], - A modular architecture for a more organized Emacs configuration.
including ports of several popular vim plugins, <kbd>C-x</kbd> omnicompletion - A custom elisp library to help you simplify your config.
and a slew of [custom ex commands][doom:commands]. - A declarative [package management system][doom:packages] (powered by
[straight.el][url:straight]) with a command line interface. Install packages
from anywhere, not just (M)ELPA.
- Vim-emulation powered by [evil-mode][url:evil-mode], including ports of
popular vim plugins and functionality.
- A Spacemacs-esque [keybinding scheme][doom:bindings], centered around leader - A Spacemacs-esque [keybinding scheme][doom:bindings], centered around leader
and localleader prefix keys (<kbd>SPC</kbd> and <kbd>SPC</kbd><kbd>m</kbd>, by and localleader prefix keys (<kbd>SPC</kbd> and <kbd>SPC</kbd><kbd>m</kbd>, by
default). default).
- Indentation detection and [editorconfig][url:editorconfig] integration. Let - A rule-based [popup management system][doom:popups] that dictates how
someone else argue about tabs vs **\_\***spaces**\*\_**. temporary or disposable buffers are displayed (and disposed of).
- Code completion for many languages, powered by - Automatic indentation detection and [editorconfig][url:editorconfig]
[company-mode][url:company-mode] (some may have external dependencies). integration. Let someone else argue about tabs vs **\_\***spaces**\*\_**.
- Project-awareness powered by [projectile][url:projectile], with tools and an - Project-management tools and framework-specific minor modes with their own
API to navigate and manage projects, as well as project/framework-specific snippets libraries.
minor modes and snippets libraries (and the ability to define your own).
- Project search (and replace) utilities, powered by - Project search (and replace) utilities, powered by
[the_silver_searcher][url:the_silver_searcher], [ripgrep][url:ripgrep], git-grep and [the_silver_searcher][url:the_silver_searcher] or [ripgrep][url:ripgrep].
[wgrep][url:wgrep], with integration for [ivy][url:ivy] (the default) and - Isolated and persistent workspaces (also substitutes for vim tabs).
[helm][url:helm]. - An environment variables file generator and loader, so that Emacs can
- Isolated and persistent workspaces powered by [persp-mode][url:persp-mode]. perfeclty inherit your shell configuration.
Also substitutes as vim tabs. - Everything is optional!
- Inline/live code evaluation (using [quickrun][url:quickrun]), with REPL
support for a variety of languages.
- A jump-to-definition/references implementation for all languages that tries to
"just work," resorting to mode-specific functionality, before falling back on
[dumb-jump][url:dumb-jump].
# Troubleshooting # Getting Help
## Community
We have [a Discord server][url:discord]! Hop on and say hi!
## Troubleshooting
Encountered strange behavior or an error? Here are some things to try before you Encountered strange behavior or an error? Here are some things to try before you
shoot off that bug report: shoot off that bug report:
@ -123,19 +127,18 @@ shoot off that bug report:
- [Visit our FAQ][docs:faq] to see if your issue is listed. - [Visit our FAQ][docs:faq] to see if your issue is listed.
If all else fails, [file that bug report][github:new-issue]! Please include the If all else fails, [file that bug report][github:new-issue]! Please include the
behavior you've observed, the behavior you expected, and any error messages behavior you've observed, the behavior you expected, and any error messages or
or warnings logged to the \*Messages\* buffer (can be opened with <kbd>SPC h warnings logged to the \*Messages\* buffer (can be opened with <kbd>SPC h
e</kbd> or `M-x view-echo-area-messages`). e</kbd> or `M-x view-echo-area-messages`).
It's a great help if you included a backtrace with errors, i.e. `M-x toggle-debug-on-error` then recreating the error(s). It's a great help if you included a backtrace with errors, i.e. `M-x
toggle-debug-on-error` then recreating the error(s).
We've also got [a Discord server][url:discord]. Hop on! We can help! ## Contributing
# Contributing
Doom (and my Emacs work in general) is a labor of love and incurable madness, Doom (and my Emacs work in general) is a labor of love and incurable madness,
done on my spare time. If you'd like to support my work, I welcome done on my spare time. If you'd like to support my work, there are many things
contributions: you can do to help; I welcome any contribution!
- I love pull requests and bug reports. Check out the [Contributing - I love pull requests and bug reports. Check out the [Contributing
Guidelines][docs:contributing] to find out how you can help out. Guidelines][docs:contributing] to find out how you can help out.
@ -158,24 +161,13 @@ contributions:
[docs:faq]: docs/faq.org [docs:faq]: docs/faq.org
[github:new-issue]: https://github.com/hlissner/doom-emacs/issues/new [github:new-issue]: https://github.com/hlissner/doom-emacs/issues/new
[doom:bindings]: modules/config/default/+evil-bindings.el [doom:bindings]: modules/config/default/+evil-bindings.el
[doom:commands]: modules/editor/evil/+commands.el
[doom:packages]: core/autoload/packages.el [doom:packages]: core/autoload/packages.el
[doom:popups]: modules/ui/popup/README.org [doom:popups]: modules/ui/popup/README.org
[url:discord]: https://discord.gg/bcZ6P3y [url:discord]: https://discord.gg/bcZ6P3y
[url:liberapay]: https://liberapay.com/hlissner/donate [url:liberapay]: https://liberapay.com/hlissner/donate
[url:paypal]: https://paypal.me/henriklissner/10 [url:paypal]: https://paypal.me/henriklissner/10
[url:company-mode]: https://github.com/company-mode/company-mode
[url:doom-themes]: https://github.com/hlissner/emacs-doom-themes
[url:dumb-jump]: https://github.com/jacktasia/dumb-jump
[url:editorconfig]: http://editorconfig.org/ [url:editorconfig]: http://editorconfig.org/
[url:evil-mode]: https://github.com/emacs-evil/evil [url:evil-mode]: https://github.com/emacs-evil/evil
[url:helm]: https://github.com/emacs-helm/helm
[url:ivy]: https://github.com/abo-abo/swiper
[url:persp-mode]: https://github.com/Bad-ptr/persp-mode.el
[url:projectile]: https://github.com/bbatsov/projectile
[url:quelpa]: https://github.com/quelpa/quelpa
[url:quickrun]: https://github.com/syohex/emacs-quickrun
[url:ripgrep]: https://github.com/BurntSushi/ripgrep [url:ripgrep]: https://github.com/BurntSushi/ripgrep
[url:the_silver_searcher]: https://github.com/ggreer/the_silver_searcher [url:the_silver_searcher]: https://github.com/ggreer/the_silver_searcher
[url:use-package]: https://github.com/jwiegley/use-package [url:straight]: https://github.com/raxod502/straight.el
[url:wgrep]: https://github.com/mhayashi1120/Emacs-wgrep

View file

@ -69,6 +69,8 @@ The following vim plugins have been ported to evil:
| vim-seek or vim-sneak | evil-snipe | mmap =s=/=S=, omap =z=/=Z= & =x=/=x= | | vim-seek or vim-sneak | evil-snipe | mmap =s=/=S=, omap =z=/=Z= & =x=/=x= |
| vim-surround | evil-embrace and evil-surround | vmap =S=, omap =ys= | | vim-surround | evil-embrace and evil-surround | vmap =S=, omap =ys= |
This module has also ported vim-unimpaired keybinds to Emacs.
In other modules: In other modules:
+ The tools/neotree & tools/treemacs modules provide a =NERDTree= equivalent. + The tools/neotree & tools/treemacs modules provide a =NERDTree= equivalent.
+ The editor/multiple-cursors module contains functionality equal to the + The editor/multiple-cursors module contains functionality equal to the