Mclovin does Emacs

05 Jan 2009 – Singapore

As part of my New Years Resolution to increase my overall productivity and be more disciplined (generally in life), I’ve been experimenting with a couple of text-editors. Tried out vim first because I was quite familiar with it, but it didn’t promise the paradigm-shift that I was expecting to happen in my work-flow.

Enter Emacs

Daniel Fischer’s blog post did quite a bit to pique my curiosity and upon return from my holiday, I bought and watched the awesome Emacs peepcode as well. I’ve been trying to use Emacs continuously for the last couple of days (including at work) and even though I am still stumbling my way a little through the darkness, I am awed by how much power it has.

My likes

  • Embedded shell which gives me the power to write and test code with minimal context-switching. I’m using this one currently and it works much better than the default M-x shell.
  • Embedded IRB which offers the same functionality. You can even copy-paste a function from your Ruby buffer to a terminal and execute it! How awesome is that.
  • Multi-window workflow. Tabs are great, but being able to see two files side-by-side is better IMO.
  • Built-in Git, where you can push/pull/branch/commit with the press of a button.
  • Full-screen coding (although I’m not able to toggle it occasionally – have to figure this out).
  • All these above reasons combine to give me a piece of software I rarely have to switch away  from while at work – thus effectively boosting productivity.

My dislikes

  • Found it hard to learn/configure in the beginning. Spent at least 3-4 hours trying to get my configuration from topfunky) right. The peepcode was a great help.
  • The different key-combinations are slightly overwhelming, but on the bright-side, unlike Vim I don’t need to switch from command-mode to edit-mode and back during coding.

It’s still early days and who knows, I might still head back to good ol’ TextMate soon. On the other hand, if I can push through the initial pain-barrier, Emacs offers an awesome and powerful cross-platform IDE.

About

The author of this blog is a Ruby Developer based in Singapore. Co-Founder of Gameplan, dabbles in Ruby, CouchDB and anything new and shiny (shininess is mandatory).

Loves Mac OS X and the iPhone.

Supports Manchester United and is a fan of Mohanlal, Quentin Tarantino, The Coen Brothers and Seth Rogen.

Mostly listens to Indian music, but loves The Beatles, The Doors, Guns n' Roses and Dire Straits.

The author's pseudonym 'McLovin' is inspired from the 2007 classic Superbad.

I also post occasionally on my Posterous.

Projects

Subscribe to mclov.in