Why I ♥ vim

There are a lot of editors out there.

When it comes to writing code, I've got a lot of choices.  Some are commercial and require money, while some are open-source and free.

The best editors are worth their weight in gold.  And to be fair, I've heard amazing things about Sublime Text 2 and BBEdit... too bad I don't use them.

I stick with vim.  I'm not going to get started on the vim vs. emacs debacle, because frankly, it's irrelevant to me.  The fact of the matter is, vim makes me happy.  (And, truth be told, I started out on emacs, but I came to the vim side when I noticed everyone in the robotics industry uses it, too.)

Sure, vim isn't perfect right out of the box.  And the learning curve is ridiculously steep.  But I see it as a puzzle - and I love puzzles!  You can get the plugins you need and customize it however you want.  You can use a mouse if you want to, but being able to use the keyboard to do everything is, well, more than a little awesome.  (And better for your hands, if you use an appropriate keyboard.)  Also, watching fingers fly around the keyboard, making the clickity-clickity sound makes me feel like a total baller.  I blame the the cast of Hackers.

So, let's say you're interested in setting up an awesome vim environment.  Thanks to my buddy Dustan Kasten, I discovered janus, a great starter kit with some bare-minimum plugins already thrown together.  Go read the documentation and get rolling.  You can thank me later.

Then, if you're interested in making your vim installation the best environment you possibly can for things like, oh, node.js development, then do yourself a favor and read through this blog post by Victor Kane.  I didn't follow all of his steps (truth be told, I just haven't sat down and done it yet, though it's on my list!), but it's really useful to see what other people have done.

And, as an extra bonus, here's Joyent's vim plugins page.

There's so much out there on vim and how to use it that I'm constantly learning new things.  Whether it's a keyboard combination I'd never heard of, a new plugin for maximizing my efficiency, or a sweet color scheme for syntax highlighting, I'm blown away at how much the open-source community has come together to make such an amazing product.  Plus, I can use vim on any platform, for no cost at all!  (Though I'd suggest putting your .vimrc on GitHub or DropBox or something, as having to remember all your little settings can be really difficult and frustrating!)

What's your favorite editor? What makes it better than all the others?