Jason, here's the thing: learning VI will take you years. And once you learn it, you'll have at your fingertips an immense and addictive power you never thought possible. However, it's a power that not everyone necessarily wants or needs.
If you plan to program for a while, because it's a good job, with good pay -- and then hopefully get promoted to manager or something or start your own business, go ahead and use the IDE. It's fine. Plenty of people do this and there's absolutely nothing wrong with it. If that is your career path, you don't have time to really learn VI, and you shouldn't bother.
On the other hand, if you actually really LOVE programming -- if programming is something you are passionate about and that you would do for free even if nobody paid you -- and you plan to program for your whole entire life until your fingers don't work anymore -- then learn VI.
There are VI scripts that you can download that give you intellisense, refactoring, etc. But IMO, by far the biggest win with VI is the ability to record and play back macros.
Macros give you wings, like Red Bull. The types of motions that you make to edit the text might seem odd when you first learn them, but when you start to fit them together into sequences and play back those sequences as macros, you will begin to understand that those strange keystrokes (capital A to position the cursor at the end of the line of text -- 0 to position it at the beginning -- w to skip a word -- etc) are like little cog-like Anime robots that can assemble themselves into a giant Transformer beast that can decimate any text-transforming problem you throw at it.
I can't tell you how many times someone gave me a file with messed up formatting or something and they thought I would have to write a program to fix it and I just opened up VI, typed in some macros, and fixed it right in my editor. I've had people watch over my shoulder and ooh and ahh about this -- and I don't say this to brag or to say that I get satisfaction out of that, but I'm just trying to impress upon you that VI itself is a powerful and impressive platform.
Add to that that you are using a tool that has continuously been improved and tweaked and fixed and debugged and added to for more than 30 years, and you've got something really special.
You get out of it what you put into it. This is true across all realms of human endeavor and it's true here. Put the time and effort into learning VI, and you'll find yourself in a world of efficient coding you didn't even know existed.
p.s. I forgot to mention one other thing -- what happens when language X, the one you are programming in, goes out of style? Time to learn another IDE. Unless you know VI, in which case, your old friend is still with you.