Shell utilities that work with plain text can deal with a whole lot more than java. Claiming that an IDE occupies the same place as a shell in a developers toolbox misses a lot of the reason why shells are useful.
Shell utilities that work with plain text can deal with a whole lot more than java. Claiming that an IDE occupies the same place as a shell in a developers toolbox misses a lot of the reason why shells are useful.
Shell utilities that deal with plain text often get the nuance wrong, because they don't have the full syntax tree to deal with. Mostly you're using regular expressions; which often get you close but not quite right. For navigation, people often would use cscope/ctags something else anyway; and text searching often isn't as good as a semantically aware find.
I don't use an IDE beyond vim for my C++ work; but am considering clion. So far I'm not entirely convinced, it doesn't handle some of the more complex C++ constructs correctly.
For vim and C++ I recommend YouCompleteMe[0]. It gets a lot of it right.