EmacsPlusPlus is an extensible Clojure-centric Emacs Setup

  • Add your user-specific code to ~/.emacs.d/userspecific

General Purpose

Keybinding Description
qq Rotate buffers
ii Cursor jump up 15 lines
kk Cursor jump down 15 lines
"jj" 'ace-jump-word-mode
"jc" 'ace-jump-char-mode
",." 'er/expand-region
"ww" 'wgrep-change-to-wgrep-mode
"xx" 'gui-diff-last-failure
C-x f Open file in sudo
S-C-<left> Shrink window left
S-C-<right> Shrink window right
S-C-<up> Shrink window up
S-C-<down> Shrink window down
C-c n Cleanup file
C-x g Search the web
C-. 'mc/mark-next-like-this)
C-, 'mc/mark-previous-like-this)
C-! 'mc/mark-all-like-this)
C-S-c C-S-c 'mc/edit-lines)
<S-up> 'windmove-up
<S-down> 'windmove-down
<S-left> 'windmove-left
<S-right> 'windmove-right
Function Description
save-macro Saves last macro and stores it in ~/.emacs.d/core.el
emacs++-insert-date Prints date at point, like 'Sun, May 4, 2014'

Clojure-Specific

  • clj-refactor-mode prefix: C-c C-x
Keybinding Description
C-> 'cljr-thread
C-< 'cljr-unwind
M-C-> 'cljr-thread-first-all
M-C-? 'cljr-thread-last-all
c[ 'cljr-cycle-coll)
i[ 'cljr-cycle-if)
p[ 'cljr-cycle-privacy)
s[ 'cljr-cycle-stringlike)
xx Extracts last test failure to into a gui-diff fn call

Git-Specific

Keybinding Description
g-blame Git blame for current line
g-churn Git info for which files churn most in the repo
g-who Git info for who edited current file most in past 6 months