Go to file
2016-06-09 00:38:32 -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
.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 v1.2.2 bump 2016-06-09 00:31:11 -04:00
LICENSE
Makefile Remove version on cache path 2016-06-06 23:48:26 -04:00
README.md README: add bash syntax highlighting 2016-06-09 00:38:32 -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

# 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:

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.