Emacs vs. Vim
This is a follow up on my previous post.
Update: Since this topic deserves a little more than a post, I have moved this post to a separate article which I shall keep expanding over time.
This is a follow up on my previous post.
Update: Since this topic deserves a little more than a post, I have moved this post to a separate article which I shall keep expanding over time.
NOTE: This post is not about the editor war — so please don’t try to start one either.
First, some background. Lets just say that I lost my editor virginity to Vim. It was a brief, but violent introduction — the modal editing was too unfamiliar, the learning curve too steep. After dabbling with a few other conventional editors (such as KWrite), I settled upon Emacs (XEmacs actually, but thats another story).
For the next three years, I tweaked my .emacs file, fiddled around with settings and plugins and modes, played games and browsed the web, checked my email and newsgroups, all within the comfortable confines of Emacs. But I was getting wary of the long startup times and (at that time) the inability to use the same interface and features in console mode (such as over SSH) as in GUI mode. It was time to move on.
I rediscovered Vim around 6 years ago. I started with a clean slate. As the saying goes, Emacs is an operating system that also happens to have an editor in it. The relatively more focused feature set of Vim was refreshing in comparison. I loved that I could work in GUI mode, save my session, go back home and resume my session in a terminal over SSH, which the exact same interface and keybindings. I quickly became very productive with Vim, and over the years have honed my plugins, settings and color themes to just how I like them.
But recently, I’ve been thinking about this again, and I might just reconsider Vim. I highly recommend reading these two blog posts to better understand where I’m coming from:
Don’t get me wrong — I think Vim still has a lot to offer. But, I can not deny that Vim is not what I would call a “forward looking editor.” Here’s why:
When Bram Moolenaar — the lead developer of Vim – joined Google, I had hoped that Vim would generate a lot more interest and enthusiasm. But so far, it hasn’t changed much.
And so, in the next few weeks, I’m going to take another look at Vim as well as Emacs. I’ll try to do an objective evaluation of where the editors stand today, where I perceive they are headed. I hope to make my decision on whether to move away from Vim or not by the end of this year.
NOTE: This post is not about the editor war — so please don’t try to start one either.
I use vim as my editor of choice. As I note above, to each his own editor.
However, Vim is not what one would call a “sexy editor”. After all, it has been around (in some shape or form) since before I was born. It does not generate as much buzz in the blogosphere and is not the darling of all the new kids on the block, as some of the other editors out there. Not many Ruby on Rails developers, for instance, seem to be using Vim for coding (actually, saying that a lot of RoR developers seem to be using Textmate is probably more accurate, but you get the point). It is written in C and does not use git for hosting. The Vim website leaves much to be desired. In the social networking world, Vim barely has a presence.
But, I contend that Vim still has a lot to offer. Here are few of the things you can check out to spruce up your Vim usage:
I’m also very happy to see the number of Vim related repositories on github. Bottomline: don’t give up on Vim. Vim is still sexy baby, you just need to look in the right places :)
Update: I’m including a screenshot of Xoria below.
How many of you have heard of [[http://moolenar.net|Bram Moolenar]]? He’s the author of [[http://vim.org|Vim]] (now working at Google Netherlands, actually). Probably some of you have heard of him. Maybe many of you have heard of him. But how many of you have heard of Dr. Chip Campbell? Not many, I suppose.
One of the hallmarks of popular F/L/OSS (Free/Libre/Open) projects is the excellent community around them (think Drupal or WordPress). Now, I lurk around on a lot of mailing lists, and one of the friedliest, warmest and educational mailing list I’ve seen is the [[http://www.vim.org/maillist.php#vim|Vim users list]].
I see people asking all kinds of questions on this list. From the very basic editing questions (like “how do I delete a word?”) to some really non-trivial stuff. Rarely have I seen anyone been beaten upon for posting a “silly” question. Not only that, people are quick and clever in responding with solutions. It is not uncommon for a “How do I…” question to get tens of responses — detailing how to do the same thing in several different ways. The depth and breadth of solutions is invigorating and the welcoming attitude of the community is heart-warming.
And so, the point of this point. I just want to thank all these wonderful people (Benji Fisher, Yakov Lerner, Dr. Chip, Antoine Mechelynck, Hari Krishna Dara, Yegappan Lakshmanan to name a few) who have made Vim a better editor for me and countless others.
PS: This has nothing to do with Vim, per se. I had to start off with //some// project, and Vim is as good as any other. I’ll come back to other software some other time — in the meantime, why don’t you go and praise some people from your favorite community. Let them know you appreciate their guidance and support.
You can see the tabs in action here. Tabs work in console mode as well (which is partly why they are not as pretty, as say tabs in Firefox). You can configure the display of text in invidual tabs (duh!).