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 25+ and my needs as a software developer, designer, scientist and doom enthusiast.
Installation
# Install cask + emacs
brew install cask
brew tap railwaycat/emacsmacport
brew install emacs-mac --with-imagemagick --with-modern-icon --HEAD
# Install this emacs.d
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
- 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.