tl;dr: Use a Vim plugin.
Since the recent release of version 7.4 I thought it would be appropriate to declare Vim officially dead and by “officially” I mean within my personal, narrow view of the world also known as the “Monarchical Republic of Me” (morom).
I learned Vim out of one of the two possible reasons you could learn Vim: You are either old enough (to be of that era) or young enough (to blindly follow anything the “cool kids” do). I strongly advice against learning Vim out of “efficiency” reasons. In fact the “efficiency” of Vim could easily be only psychological. Sorry to say, but for me, Vim is about visible productivity and the fact that I no longer know how to use a regular editor.
To be fair, Vim gave me the possibility to do one thing that I wasn’t able to do before (and I tried), which is working on the go. Without the need for a mouse, it doesn’t matter if you are in the office, on a train oder hanging upside down from a tree with your fingertips touching the ground. (see Extreme Programming for comic relief)
However, my use of Vim has declined over time. I remember my early days in college when I would still do all Java editing in Vim and use an IDE only when absolutely necessary, remembering all variable and method names (autocompletion was for wimps) and constantly multitasking:
I really like the idea of one thing doing… one thing. Like an editor doing editing, a file browser doing file browsing and an Integrated Development Environment (which shouldn’t exist by that standard) doing everything else. Well, it seems that IDEs were just more practical.
Like many I tried to bring IDE features to Vim at first, rather reluctant so, since I didn’t trust those plugins could match dedicated efforts of IDE developers. For me they didn’t.
I remember eclim being one particular failed attempt to do so, probably because I was unable to set it up properly. But since it didn’t work in the end, it didn’t work in the end. The idea behind eclim is good though, so you might want to give it a try.
I turned my efforts upside down and instead tried to bring Vim to the IDEs. By that time I already had one project gone bad for me and my partner in part due to my anti-IDE attitude. (Ok, we still got an A, but by my standards it wasn’t a success).
The first Vim plugin I tried was Vrapper for Eclipse. The setup was so easy and it worked so well, that I knew that this the way to go. Vrapper even allowed some kind of .vimrc file (mappings!), though not at full Vim capacity as far as I can recall. I could do real work again.
Being forced to use NetBeans in another course, I gave jVi at try. It has become my favorite Vim plugin since then. It’s almost a direct port of the original Vim code to Java and therefore behaves exactly like one would expect, including (almost?) complete .vimrc capabilities.
But that bastion fell when I found WebStorm. Being already sold to IntelliJ (and its suboptimal but very much existing Vim plugin IdeaVim) I was amazed to have almost all the IDE goodness for web development while maintaining the goodness of Vim as well.
So Vim is dead, long live The Vim.
This post was written using Vim.