90% of the stuff I need to do are minor changes that don't need the nuance that requires a full Syntax tree. The other 10% I fire up an IDE for and make the change.
For vim and C++ I recommend YouCompleteMe[0]. It gets a lot of it right.
For vim and C++ I recommend YouCompleteMe[0]. It gets a lot of it right.
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.