Primarily. VIM is more productive for programming than Eclipse. Your personal VIM productivity can be terrible, but the potential VIM cap is much higher. It is a fact.
VIM is a martial art. It seems unnatural when you first use it. And you can't even make it work. It will take many years of practice to gradually become productive. First, you focus on mastering a small detail. Slowly, all these bits that you learn will add up until the text flows easily from your fingertips on the screen. Complicated changes that would make your colleague breathe out of your hands before he can finish his exhalation. There are few people who can use VIM. Less who can use its productivley. And you can never meet a master in your life. But rumored to exist.
VIM is designed to throw hands on the home line. Moving a hand from the keyboard to the mouse demoralizes. This is a rough movement of the engine. The movement of your hand has a phsycological effect that harms your motivation. Using VIM, someone can lock your wrists on the keyboard, and you can still easily open files, split windows, open tabs, build a project, search / replace, change fonts, change colors, etc. And all at lightning speed.
VIM is modal. This means that you do not need to execute complex key combinations when you hold Ctrl + shift + Key. This ultimately hurts you. Instead, you execute commands. No key combos needed due to modality.
We store data in our memory, like computers. Our memory can only store a few values at a time. See how many different integers you can keep in mind before they slip away. We overcome this human limitation by writing material down. If the data falls out of our memory, we can easily see what we wrote to return it. If your time is wasted on a gross engine, physical things are wasting time you could spend processing data in your brain. You want your mind to appear on the screen without any effort. It may not seem that big, but VIM's ability to easily transfer what you have on your screen is a BIG performance boost. It's hard for me to say what I'm trying to say.
VIM supports code completion. Both text and search. It can pull text from mulitple files. Everything you wish can be obtained in VIM. Either do it yourself, or use something that someone else has cooked.
VIM supports goign for definitions using ctags. You can also find all links to an item. Again, whatever you want can be in VIM.
VIM scripts are huge. You can load or create thousands of color schemes and change colors in an instant. Try changing fonts or colors in Microsoft Visual Studio, and it will freeze for 20 seconds while it loads data. It will not allow you to save color schemes, and you should spend 30 minutes adjusting your colors and fonts every time you want to change the scenery. In VIM, you can set the distance between the lines to zero to type more lines of code on the screen. I get over 80 lines. Visual studio uses 2 pixel spacing for each row, and you cannot adjust it !!! Fewer lines = more scroll = less performance = forced to use small fonts for more lines = eye strain.
Split windows open in an instance in VIM. This is useful when you need to look at data in one section of code that is far from the place you are printing (or in another file). You do not need to waste time resizing windows or worrying that GUI windows overlap and fall on top of each other. Unlocked code windows can be opened in bookmarks, so as not to occupy the screen space, but allow quick switching.
VIM as an IDE: http://www.youtube.com/watch?v=MQy2rVOf-z0&feature=fvwrel VIM revenge: http://www.youtube.com/watch?v=lQNFfhC4QI8