My emacs.d
Emacs Lisp Common Lisp Scheme C TeX C++ Other
Pull request Compare This branch is 290 commits ahead, 5631 commits behind ocodo:master.
Failed to load latest commit information.
custom Added support for Go Jan 27, 2015
elpa updated packages, updated init Feb 13, 2015
ensime added evil, scala support, and new marmelade May 23, 2013
evil Updated lots of packages, added dependencies, added more packages for… May 24, 2014
marmalade-0.0.4 added evil, scala support, and new marmelade May 23, 2013
modes-init Updated several packages, modified for better sql, clojure editing Aug 11, 2014
nxml-schemas Changes: Mar 15, 2013
org-mode updated org-mode, added small projects Jul 2, 2014
plugins added simple bulk mass mail script Jan 29, 2014
snippets added snippets for scala, go, haskell and ruby Jul 28, 2013
youcompletemacs fixed a couple of issues and syntax Oct 6, 2013
.gitignore added snippets for scala, go, haskell and ruby Jul 28, 2013
.gitmodules fix submodule config Mar 11, 2013
.mc-lists.el changed stuff, added stuff, very happy Aug 17, 2013 Removed dead screenshot link Jun 25, 2015 huge cleanup to speed it up and remove unecessary functionality Aug 31, 2013
emacs-docs.txt updated org-mode, added small projects Jul 2, 2014
emacs_notes.txt set symmetric encryption to cache the passphrase in memory, added som… Jan 2, 2015
google-translate.el added simple google translate plugin Feb 3, 2014
init-old.el cleanup of the init, moved lots of stuff into sep projects Oct 6, 2013
init.el Set auto-complete to work on tab key Jun 8, 2015
screenshot.png added a bit of description Jan 21, 2014
what_i_learned_about_emacs.txt added more emacs notes Jan 2, 2015


This configuration is out of date. I've switched over to Spacemacs which already contains a lot of what I was trying to achieve here. Only, in a much better & cleaner manner. I've ported the most important things from this config over to a new spacemacs config (i.e. the things not yet in Spacemacs). This new configuration can be found here:

Emacs-Evil Configuration

This is my in-progress Emacs configuration which tries to be something in between Vim and Emacs. Emacs strong configuration facilities make it possible that I am very, very comfortable in this editor while I can barely manage to exit a regular Emacs on the command line. Meaning, this configuration is so specific that there's little resemblance to classic Emacs anymore. However, if you're coming from Vim, this Emacs configuration could be a good fit - even though it also differs quite a lot from Vim, but maybe not as strong as it differs from Emacs. Of course, all the classic Emacs shortcuts still work, I just don't know about them because I'm using my own facilities or am using the Evil-Vim ones.


  • This configuration is optimized (kinda) for HTML, Javascript, CSS, Python, Clojure, Scala, Emacs Lisp, and Org Mode. Some set ups are better than others, and not everything may be the latest and greatest. I'm not trying to create the most up to date Emacs configuration, I'm trying to have a pleasant working environment
  • Optimized for using it on Mac OS X.
  • Tries had to actually look good
  • Needs Emacs 24.3+
  • Leader support (",") for various tasks
  • MX Shortcut to C-.
  • Expose-Like Window Switcher with Command-'
  • A small documention in emacs-docs.txt
  • C-g is the 'quit' key it also goes from insert back to normal mode (i.e. use that instead of ESC or C-c)


Here's a list of some keyboard shortcuts that make this configuration pleasant to use


  • C-.: MX shortcut (so pleasant, try it!)
  • s-0: Line-Numbers on / off
  • s-1 - s-4: Split windows in different ways
  • s-5: Delete Window
  • s-.: helm-complete-filename-at-point: press this for filename completion in a buffer
  • s-/: Hippie Expand, but doesn't have a menu either
  • s-': Expose like window switching
  • C-c SPC: ace jump mode
  • C-u C-u C-c SPC: ace-jump-line-mode
  • C-j: Zencoding


  • C-': Evaluate thing left of cursor or evaluate region if there is one
  • C-5: Will select from here up to the matching item (i.e. from [ to ] or from ( to ))
  • C-+ / C--: Will expand or contract the current selection by scope

Evil Leader

  • ,t Toggle back and forth between last buffers
  • ,p Go to previous buffer (i.e. back button)
  • ,n Open new empty buffer
  • ,i iMenu -> List all functions in this buffer and jump around
  • ,re Recent open files
  • ,rl Revert current buffer (reload)
  • ,l List all open buffers (care, this mode is not evil-compatible!)
  • ,c Close current Window
  • ,: Command history (like vim recent commands, not perfect but close)
  • ,f Ace-Jump (i.e. Vim EasyMotion)
  • ,/ Toggle comments


  • This is very much work in progress
  • I'm really happy with this setup but constantly tinkering
  • High learning curve as there're so many custom shortcuts now