IDEs can be a crutch. To me vim is genuinely faster at text navigation and manipulation to the point that none of the benefits of an IDE are worth the trade. Plus you can add many of the features you mentioned to vim quite easily but adding an accurate an useful vim-clone mode to an IDE can be difficult. Being able to select a block of code with a keyboard shortcut and then apply a complex regular expression search and replace inside that block and reformat the block in pure fast keyboard shortcuts is too powerful. Really the only time I ever end up in an IDE these days is if I need to build a GUI. Even then I usually drop back to vim for the code editing.