No description
core | ||
ext | ||
modules | ||
private | ||
.gitignore | ||
.gitmodules | ||
Cask | ||
init.el | ||
LICENSE | ||
Makefile | ||
README.md |
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.
[](http://ultravioletbat.deviantart.com/art/Yay-Evil-111710573)It is tailored to OSX 10.11+, Emacs 24.5.1+ and my needs as a software developer, designer, scientist and doom enthusiast.
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:
- The Caskfile: lists installed plugins and where they're configured.
- init.el: lists all loaded modules
- private/my-bindings.el: most of the custom keybinds
- private/my-commands.el: available custom ex commands
- ext/Makefile: lists external dependencies
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 helm and neotree
- Project search with ag and file search with evil-search or helm-swoop
- Project-wide search and replace with helm-ag (press shift-Tab while in results buffer)
- 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.
- 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