I’m learning Emacs. There, I said it. After being a Vim user for about a year
and a half, I’m going to try out the dark side. Here are some of the resources I
am using to get my editor setup so it’s not so much “oh my god I don’t know how
to exit out of this program” and more “okay, evil mode will save me if I get too
in the deep end, but I’m giving this a shot”.
- How to Use Emacs, an Excellent Clojure Editor. Great resource
that walks you through setting up your editor to resemble theirs. Borrow code,
omit other parts, whatever. Fun note: Emacs is technically a Lisp interpreter,
with all of its editing functionality written in its own Lisp dialect, Emacs
Lisp. Perhaps this is why it’s intriguing to Clojurists as an editor…
- Magit. Billed as “a git porcelain inside Emacs”. Comparing diffs is
easy, and Magit has an interface for staging patches that is better than git’s
- Helm. Helm is a completion engine that matches anywhere in a name,
instead of just the beginning (similar to CtrlP for us Vim users). Emacs
ships with a default similar package called Ido as of version 22, but
many users prefer helm. Research both and see which one you like.
- Evil-surround. So I don’t go completely crazy, evil surround
is there to ease my transition. I heavily use surround.vim by tpope,
and evil-surround mimics that functionality.
- Evil-args. Another package to ease me into the water, evil args
sets up motions and text objects similar to how Vim views method arguments.
- Sensible Defaults. Harry Schwartz, of
thoughtbot ilk, while probably the only Emacs user in the
thoughtbot company, follows thoughtbot’s standards of goodwill towards the
open source community. He’s open sourced sensible defaults for Emacs which
make the user more comfortable with this new and wonderous and frightening
* I’ve been a pretty heavy Vim user for the last year and a half or so. Using Vim
and Tmux (or a similar terminal multiplexer, e.g. screen), it’s possible to
achieve a very fast workflow with a good testing feedback loop necessary for
TDD. By working alongside the videos provided by the good folks over at
Upcase, my editor has become home, a place where I feel comfortable
making changes and seeing my results near-instantly. Check Upcase out today to
level up your TDD, Vim, Git and Rails skills.
** The Vim and Emacs camps are largely divided on which is the best editor. Vim
users joke that Emacs is a great operating system, lacking only a decent editor.
Emacs users jest that Vim has two modes: “beep repetedly” and “break
everything”. As two of the oldest continuously updated programs, it’s
understandable why each editor has its zealots.
*** This post was written in Vim. Whoops, maybe next time :)