doomemacs/README.md
2016-06-07 00:56:33 -04:00

3.7 KiB

MIT

This is an Emacs configuration for stubborn vimmers and silent demon annihilating protagonists alike. It strives to emulate vim as best it can, and surpass it in any way possible.

[![Yay! Evil!](https://raw.githubusercontent.com/hlissner/.emacs.d/screenshots/cacochan.png)](http://ultravioletbat.deviantart.com/art/Yay-Evil-111710573)

It is tailored to OSX 10.11+, Emacs 25+ and my needs as a software developer, designer, scientist and doom enthusiast.

Splash page screenshot Main screenshots

Installation

brew install cask
brew install emacs --with-cocoa --with-imagemagick
git clone https://github.com/hlissner/.emacs.d ~/.emacs.d
cd ~/.emacs.d
make          # installs plugins via cask and generates autoloads

# Optional
make compile  # compiles core and autoloaded files
make snippets # install hlissner/emacs-snippets into private/snippets

For a more comprehensive byte compile, run :bc! (:bc will compile the current *.el file).

Features

To get a picture of what's in here, check out:

Highlights

  • Pretty line numbers with nlinum and neckbearded hackery
  • Syntax checking with Flycheck
  • Completion with company-mode
  • Nigh-universal code debugging interface with realgud
  • Pretty mode-line with spaceline
  • Project navigation with ivy and neotree
  • Project search with ag
  • File search with evil-search or swiper
  • Session persistence (and tab emulation) with workgroups2 Workgroups2 tabs emulation
  • Run code inline with quickrun
  • REPLs for many major modes with repl-toggle, including Ruby, Python, PHP, JS, Elisp, Haskell and Lua.
  • 2-char motions with evil-snipe
  • Diffs in the margin with git-gutter
  • Repeat (most) motions with SPC
  • Snippet expansion with yasnippet and auto-yasnippet
  • File template support with auto-insert and yasnippet
  • Code folding with hideshow
  • Multiple cursors with evil-multiedit
  • O/S interaction functions, like os-reveal and os-open-in-browser
  • Custom TODO, FIXME and NOTE highlighting
  • big-mode for presentations and demonstrations
  • Tmux integration with :t and :tcd ex commands
  • Tamed popup windows with shackle
  • Vim-esque omnicompletion. e.g. C-x C-f for files
  • Quick keybindings with :[nviom]map
  • Emacs for modern note-taking/LaTeX/writing with org-mode or rst-mode
  • Modeline improvements
    • evil-search/iedit/evil-substitute mode-line integration:

      matches count in mode-line substitutions count in mode-line

    • Macro-recording indicator:

      macro indicator in modeline

    • Show (py|rb)env version in mode-line

      py/rb version in modeline