No description
Find a file
Henrik Lissner db5a735f5a Merge branch 'dev'
* dev: (25 commits)
  elisp: fontify ex-local! macro calls
  Enable highlight-numbers-mode in css modes
  Remove redundant boundp check in def-yas-mode!
  Refactor nlinum hl/unhl; sacrifice a little performance for stability
  doom*evil-esc-quit: ESC is special in popups
  Polish neotree integration + Smaller font in neotree window (with slightly thinner window) + Refactor advice naming + Add space-prepended buffer name to winner-boring-alist + Remove unnecessary advice defuns
  Don't use delete-trailing-whitespace as a hook with highlight-indentation-mode
  Don't let cursor stay in help buffer popup after following a link
  fixup! Add command-log-mode
  scratch buffer: check if mode is a function before running it
  Fix :re command collision
  Add command-log-mode
  split-window-preferred-function = 'visual-line-mode-split-window-sensibly'
  Lazy load evil-anzu
  General cleanup
  help-mode: fix links to already open buffers
  Improve neotree keymap
  Refactor real-buffer system
  Improve doom-buffer kill-buffer-query-functions; update doom-buffer when visible
  applescript-mode: Enable nlinum-mode + add quickrun command
  ...
2016-06-09 00:30:17 -04:00
core Remove redundant boundp check in def-yas-mode! 2016-06-09 00:28:43 -04:00
ext General cleanup 2016-06-06 20:07:29 -04:00
modules elisp: fontify ex-local! macro calls 2016-06-09 00:29:22 -04:00
private Fix :re command collision 2016-06-08 21:08:43 -04:00
.gitignore Ignore debug.el 2016-05-27 15:56:01 -04:00
.gitmodules Update submodules + add emacs-snippets 2016-06-06 20:07:43 -04:00
Cask Add command-log-mode 2016-06-08 21:08:30 -04:00
init.el extra => custom 2016-06-08 03:10:27 -04:00
LICENSE python: fix eldoc-mode and dash docset 2016-03-04 22:34:14 -05:00
Makefile Remove version on cache path 2016-06-06 23:48:26 -04:00
README.md Move link 2016-06-07 02:21:50 -04:00

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

  • Line numbers + highlight with nlinum
  • Syntax checking with flycheck
  • Completion with company-mode
  • Nigh-universal code debugging interface with realgud
  • Project navigation with ivy and neotree
  • Project search with counsel-ag
  • Buffer search with evil-search and swiper
  • Session persistence (and tab emulation) with workgroups2
  • Run code inline with quickrun
  • REPLs for many major modes with repl-toggle, including Ruby, Python, PHP, JS, Elisp, Haskell and Lua.
  • Minimalistic diffs in the margin with git-gutter-fringe
  • Snippet expansion with yasnippet and auto-yasnippet
  • File template support with auto-insert and yasnippet
  • Code folding with hideshow
  • Custom O/S interaction commands, 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
  • emacs for modern note-taking/LaTeX/writing with org-mode or rst-mode
  • Vim-esque Emacs with evil-mode, plus:
    • 2-char motions with evil-snipe
    • Repeat (most) motions with SPC
    • Multiple cursors with evil-multiedit
    • Quick keybindings with :[nviom]map
    • Vim-esque omnicompletion. e.g. C-x C-f for files
  • Pretty mode-line with spaceline, plus:
    • evil-search/iedit/evil-substitute mode-line integration
    • Indicator when macro is recording
    • Show python/ruby version in mode-line (with rbenv/pyenv)

More screenshots

In the screenshots branch.