No description
core | ||
ext | ||
modules | ||
private | ||
.gitignore | ||
bootstrap.el | ||
Cask | ||
init.el | ||
LICENSE | ||
Makefile | ||
README.md |
NARF Emacs
What we do every night, Pinky...
This is an Emacs configuration for stubborn vimmers and megalomaniacal mice alike. It strives to emulate vim as best it can, and surpass it in any way possible.
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
And to optionally:
make compile # optionally byte-compiles everything
make snippets # install hlissner/emacs-snippets into private/snippets
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