doomemacs/docs/index.org
2019-12-01 15:42:05 -05:00

12 KiB
Raw Blame History

Doom Emacs Documentation

Doom Emacs is a configuration for GNU Emacs written by a stubborn, shell-dwelling, and melodramatic ex-vimmer. It is designed to be a foundation for your own Emacs configuration or a resource for enthusiasts to learn more about our favorite OS.

Github fails to render org links to sub-sections, so it is recommended that you view the documentation from within Doom Emacs by pressing <help> d h (<help> is SPC h for evil users and C-h for vanilla users) or searching it with <help> d /.

TODO Release Notes

Documentation

Getting Started

  • Install - How to install Emacs, Doom and its plugins
  • Update - Keep Doom and its packages up-to-date
  • Customize - A primer on customizing and reconfiguring Doom
  • Troubleshoot - How to debug Emacs & Doom, find help or look up documentation

TODO Contributing

  • Where to get help
  • Writing an effective bug report
  • Suggesting features, keybinds or enhancements
  • Contributing code
  • Contributing documentation
  • Other ways to support Doom Emacs
  • Special thanks

Community Resources

Project roadmap

  • Development roadmap - A timeline outlining what's being worked on and when it is expected to be done.
  • Plugins under review - A sitrep on third party plugins that we've considered, rejected, or awaiting integration into Doom.
  • Upstream bugs - Tracks issues originating from plugins and external programs that Doom relies on.

Module list

:app

Application modules are complex and opinionated modules that transform Emacs toward a specific purpose. They may have additional dependencies and should be loaded last, before :config modules.

  • calendar - TODO
  • irc - how neckbeards socialize
  • rss +org - an RSS client in Emacs
  • twitter - A twitter client for Emacs
  • write +wordnut +langtool - Transforms emacs into an IDE for writers, and for writing fiction, notes, papers and so on.

:completion

Modules that provide new interfaces or frameworks for completion, including code completion.

  • company +childframe +tng - The ultimate code completion backend
  • helm +fuzzy +childframe - Another search engine for love and life
  • ido - The other other search engine for love and life
  • ivy +fuzzy +prescient +childframe - The search engine for love and life

:config

Modules that configure Emacs one way or another, or focus on making it easier for you to customize it yourself. It is best to load these last.

  • literate - For users with literate configs. This will tangle+compile a config.org in your doom-private-dir when it changes.
  • default +bindings +smartparens - The default module sets reasonable defaults for Emacs. It also provides a Spacemacs-inspired keybinding scheme and a smartparens config. Use it as a reference for your own modules.

:editor

Modules that affect and augment your ability to manipulate or insert text.

  • evil +everywhere - transforms Emacs into Vim
  • file-templates - Auto-inserted templates in blank new files
  • fold - universal code folding
  • format +onsave - TODO
  • god - run Emacs commands without modifier keys
  • lispy - TODO
  • multiple-cursors - TODO
  • objed - TODO
  • parinfer - TODO
  • rotate-text - TODO
  • snippets - Snippet expansion for lazy typists
  • word-wrap - soft wrapping with language-aware indent

:emacs

Modules that reconfigure or augment packages or features built into Emacs.

  • dired +ranger +icons - TODO
  • electric - TODO
  • ibuffer +icons - TODO
  • vc - TODO

:email

  • mu4e +gmail - TODO
  • notmuch - TODO
  • wanderlust +gmail - TODO

:input

:lang

Modules that bring support for a language or group of languages to Emacs.

  • agda - TODO
  • assembly - TODO
  • cc +lsp - TODO
  • clojure - TODO
  • common-lisp - TODO
  • coq - TODO
  • crystal - TODO
  • csharp - TODO
  • data - TODO
  • elixir +lsp - TODO
  • elm - TODO
  • emacs-lisp - TODO
  • erlang - TODO
  • ess - TODO
  • faust - TODO
  • fsharp - TODO
  • go +lsp - TODO
  • haskell +dante +intero +lsp - TODO
  • hy - TODO
  • idris - TODO
  • java +meghanada +lsp - TODO
  • javascript +lsp - JavaScript, TypeScript, and CoffeeScript support
  • julia - TODO
  • kotlin +lsp+ - TODO
  • latex - TODO
  • lean - TODO
  • ledger - TODO
  • lua +moonscript - TODO
  • markdown +grip - TODO
  • nim - TODO
  • nix - TODO
  • ocaml +lsp - TODO
  • org +dragndrop +gnuplot +hugo +ipython +pandoc +pomodoro +present - TODO
  • perl - TODO
  • php +lsp - TODO
  • plantuml - TODO
  • purescript - TODO
  • python +lsp +pyenv +conda - TODO
  • qt - TODO
  • racket - TODO
  • rest - TODO
  • ruby +lsp +rvm +rbenv - TODO
  • rust +lsp - TODO
  • scala +lsp - TODO
  • scheme - TODO
  • sh +fish +lsp - TODO
  • solidity - TODO
  • swift +lsp - TODO
  • terra - TODO
  • web +lsp - HTML and CSS (SCSS/SASS/LESS/Stylus) support.

:term

Modules that offer terminal emulation.

  • eshell - TODO
  • shell - TODO
  • term - TODO
  • vterm - TODO

:tools

Small modules that give Emacs access to external tools & services.

  • ansible - TODO
  • debugger - A (nigh-)universal debugger in Emacs
  • direnv - TODO
  • docker - TODO
  • editorconfig - TODO
  • ein - TODO
  • eval +overlay - REPL & code evaluation support for a variety of languages
  • flycheck - Live error/warning highlights
  • flyspell - Spell checking
  • gist - TODO
  • lookup +docsets - Universal jump-to & documentation lookup backend
  • lsp - TODO
  • macos - TODO
  • magit - TODO
  • make - TODO
  • pass - TODO
  • pdf - TODO
  • prodigy - TODO
  • rgb - TODO
  • terraform
  • tmux - TODO
  • upload - TODO

:ui

Aesthetic modules that affect the Emacs interface or user experience.