Profile Picture

Coder at Codemancers, Bangalore. GardenCityRubyConf organizer.

Works with Ruby, JS, C++, AWS, Chef and Vim.

Plays the guitar and sketches other times.

Emil Soman

Confessions of a Vim maniac

Though I'd like to think I'm very liberal when it comes to accepting change, I know I'm ridiculously super conservative when it comes to one thing - text editors.

Ever since I started programming for a living, every character of the code that I've written which eventually got compiled or interpreted and got shipped into far away servers which loaded it into their memory, and got executed millions of times by those CPU's had a humble and delicate origin when I pressed the right keys in the right order in my dearest editor - the Vim editor. After these many years of using Vim without stopping for a moment to think about our journey together, I'm going to do it now.

You must have heard this story before : the kid who just moved into the city enters the new class, he's made to sit beside the weirdest looking kid in the class. The new kid doesn't really like this weird kid because he's mysterious and different and so difficult to hold a conversation with. Eventually the new kid tries to understand this weirdo and he is shocked to find how friendly the weird looking kid really is and their friendship grows so tight that they are inseparable. That's how I can summarize my journey with Vim so far.

Unlike many who complain about the bad learning curve, I didn't feel Vim was difficult because when i started off, the only thing I wanted to do was write stuff, move cursor, save and quit. I was not impressed by the promised productivity boost that Vim would give me. I was skeptical about the choice all the while I was using Vim in the beginning. The journey towards a happy union with my editor had to cross many a milestone.

  1. When I Pair programmed with a senior developer/vim superuser - A lot of "Wait! What did you just do" taught me some Vim sorcery .
  2. When I had to code over an SSH connection - Vim wins here.
  3. When I installed eclipse IDE on my really slow workstation - Eclipse died.
  4. When I started exploring advanced Vim commands and wrote my custom .vimrc - Impressed by productivity boost.

The reason why Vim makes you more productive is because of this fact : The only way to do something in Vim is using the keyboard. That means you are already using a keyboard shortcut for everything. So you may tell me "But all IDE's have shortcuts". Yes, but since none of the IDE's forced me to learn the shortcuts, I simply failed to learn them, and moreover whenever I tried running an IDE, it ran really slow so I removed it and never looked back.

Enter Sublime Text.

I tried SublimeText when it was released, and this is what I thought : "This editor is slick !" . Everytime I see somebody using it, I say the same thing to myself again "This editor is slick !". But thanks to my blind loyalty to Vim, I couldn't think of replacing Vim with Sublime Text.

But yesterday, I tried it again, and I decided I'm going to learn this editor.

Because Sublime Text

  1. looks beautiful
  2. feels light
  3. has good package management
  4. has a big community of users
  5. is actively under development

So I'm going to start using Sublime Text and I'm going to learn the keyboard shortcuts first. I hope I can do a rundown on the experience later.

comments powered by Disqus