Vim is not the ultimate tool. It is a very efficient and powerful text editor but I would say it is not a replacement for an IDE. However to me the problem with most IDES is the I part. You're stuck with their text editor, their build system, and their tools. I'm certainly not against integrating related tools together, I just would like the ability to access those tools by themselves as well. My ideal IDE would be one that has an integrated environment with all its tools, but with each tool being able to work independently. So if I prefer editing in vim, but I'd like to use the IDE's refactoring, I can set up a script or perhaps a vim plugin that will use the refactoring program provided by the IDE.
This is a fairly viable ecosystem on unix systems for C and C++ at least. You use whatever text editor you prefer, your chosen compiler and build system, gdb for debugging, and more recently clang for intellisense (though I do not know of a good standalone refactoring tool). For most text editors there are plugins to integrate the things that should be available in your text editor like debugging and autocompletion.
This is a fairly viable ecosystem on unix systems for C and C++ at least. You use whatever text editor you prefer, your chosen compiler and build system, gdb for debugging, and more recently clang for intellisense (though I do not know of a good standalone refactoring tool). For most text editors there are plugins to integrate the things that should be available in your text editor like debugging and autocompletion.
For your specific complaint of autocompletion, clang complete (https://github.com/Rip-Rip/clang_complete/) is excellent, but can be slow on large projects. Some other useful plugins are syntastic (https://github.com/scrooloose/syntastic/) for syntax checking of many file formats, tagbar (http://www.vim.org/scripts/script.php?script_id=3465) for convenient code navigation, and UltiSnips (http://www.vim.org/scripts/script.php?script_id=2715) for the best snippet plugin out there. The only thing I find I'm really lacking is good debugger integration (Pyclewn is ok, but not great: http://pyclewn.sourceforge.net/) and good refactoring tools. I've heard good things about eclim, but never tried it.