README: general revision
This commit is contained in:
parent
b45a9c5e03
commit
fb692a843f
2 changed files with 66 additions and 72 deletions
134
README.md
134
README.md
|
@ -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
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue