Vim doesn't compile as you type, so it can't give you much intelligent interaction with your code.
Obviously, there are work-arounds (like using clean APIs and libraries), but that's not always an option.
Obviously, there are work-arounds (like using clean APIs and libraries), but that's not always an option.
I use cscope for intelligent interaction with my code, vim as the primary editor/interface (keybindings for cscope are awesome..) and ddd in an 'always on top' window for building/debugging .. in comparison to my Eclipse (android) environment where I am also working, I think that an easy balance can be made if you use the 'apps as pipes' philosophy that a good vim experience requires ..