arun thampi  /  writing  / 

is it still time to build?

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 forked 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.