I love Vi and Eclipse for very different reasons. Eclipse is a kick-ass Java IDE, and vim is possibly the best text editor out there. I wish I could combine both applications into one – giving me both the convenience of an IDE and the raw editing power of vi. Komodo Edit which I reviewed recently comes very close to what I want. It essentially aims to emulate vi behavior inside it’s own editor. This has both advantages and disadvantages.
Main advantage is that you can still use the IDE’s advanced features such as tool-tips, auto complete, code folding, bookmarks and etc. Downside is that few more obscure and advanced vi features simply won’t work. I’m perfectly fine with that compromise, and working in Komodo Edit has made me more productive than ever.
I would love to have the same functionality in Eclipse so that I can totally kick ass when I code Java as well! Unfortunately, I have yet to find a solution that could even remotely compare with what Komodo did to my PHP coding environment.
There is a plugin out there which does exactly what I want – it’s called viPlugin. It integrates with Eclipse and seamlessly emulates VI editing patters exactly like Komodo does. Unfortunately it’s not free. The pleasure of using this plugin will cost you $20. The author offers a free trial version, which is essentially unusable – it pops up a modal, focus stealing dialog that nags you to buy a full version every 3 minutes or so.
Let me recap this for you: this is a plugin, which adds a non-essential set of features to a completely free IDE. Who in their right mind would pay $20 for a plugin to a free product? I certainly don’t need these key bindings that badly! If the price was less steep and the nag-dialog was less annoying I would seriously consider spending few bucks on it. Hell, I’d even consider donating few bucks to this guy if I would find myself using the plugin extensively.
But that dialog is just rude, and inconsiderate. It’s like the author is so afraid that someone might actually use his app without paying he will go to great lengths to make trail version unusable, and downright annoying. I hate this way of thinking – it makes you look like a greedy asshole who doesn’t give a shit about end user experience.
In clear conscience I can’t support this sort of behavior. So viPlugin lost me as a customer. Too bad, because this was really what I was looking for.
No one else seems to be working on this sort of project. There are several Vim/Eclipse mashups out there, but none of them seems to actually provide Komodo like experience.
For example Vimplugin is an Open Source project that actually lets you use a full blown vim instance inside the IDE. They accomplish this by using the JTA terminal emulator. You provide your own command line version of vim, and it will get loaded as a tab in Eclipse interface.
Upside of this is that you get a full blown version of vim, configured the way you like it. Downside is that you loose most of the cool Eclipse features such as folding, tooltips, auto complete and etc… I tried the plugin and it works fiine. It’s just not what I was looking for. I might as well launch vi by itself in a separate window for the same effect.
Eclim project does something completely opposite from Komodo. Instead of trying to bring Vim key-bindings into an advanced IDE, it tries to bring the IDE features into Vim. I haven’t tested it, but it looks intriguing. You get code completion, inline error checking and all that good stuff directly in your Vim window. I’m not sure if all the Eclipse features can work this way. For example, I can’t imagine how would they implement the built in Eclipse debugger this way.
I also found a project dubbed Viclipse on sourceforge. It seems to be very similar to the viPlugin in scope, but it is in a very early development stage. It also seems abandoned – no one has checked any code into the CVS in a year.
I guess I’ll have to code without vi key-bindings in Eclipse. Unless of course you can point me to a better solution than the ones I listed here.
In retrospect I think that I might have been a little harsh on ViPlugin. Who am I to tell people what they can or cannot charge for their work? Michael – the author of the plugin was nice enough to stop by and tell us why he chose to make it proprietary. See the comments for his take on this. He seems to be a really nice guy, and he is being a good sport about this whole rant here so I say he is off the hook. ;)
[tags]vi, vim, eclipse, viPlugin, viclipse, eclim, vimplugin, eclipse plugins, java[/tags]