Editors in Unix can tend to set of language flame wars if one isn't careful. This is not my intention here at all. I started out using vim for code development and at some point shifted to emacs where I've stayed ever since, and that was over a decade ago. I have it configured to do autocompletion of all the languages I use (C/C++, Lisp, Python, Perl). But like any powerful editor it has a learning curve.
But vi/m is no different - I know hard core hackers who have it configured to do the same kinds of things I do. I think what it comes down to on some level is how you are wired - they're both extremely capable, very powerful code editors with more features than most people will ever be able to learn to use.
The problem I've noticed over the years with the IDE environments is that they may have a much shallower learning curve, but there's a reason for it. You have to gain elevation sometime if you want to get somewhere. A really good editor will force you to learn a lot of stuff early on and then get out of your way. The other ones don't force you to learn much (worth knowing) but are forever in your way after that.
Just my two cents.
jkcunningham