That being said very few C++ IDE's have advanced refactoring due to the scourge that is the C Preprocessor. This also why most people, like myself, stick with Vim for C/C++ development.
C and C++ exploration and refactoring tools like rtags that hook directly into a compiler, and integrate with your editor of choice, have never failed me. I haven't put them up against too much in the way of preprocessor macro hell, but I've got to think they've got the best shot at doing "the right thing" in the face of macros.
Just as a random example, see this https://github.com/Andersbakken/rtags/issues/281
Refactoring tools are incredibly powerful. For example, renaming a class method "foo". You can rename it yourself with a text editor, but now you have to manually update all the callers. You could try using search/replace, but what if several unrelated classes have a "foo" method? How do you only change the correct method calls? The IDE refactoring tool does this automatically.
* Extract superclass/interface which will work on the whole codebase * Support for NVI - rename, change parameters, convert to virtual interface and back * code duplication detection (maybe exists but I never found sufficient one)
The political goals of the gcc people didn't exactly help here.
> This open-source project is about making a fully-fledged and modern IDE built on top of popular Vim editor.
Was about to try it out until I read that. I've poured quite a bit of time into customizing Emacs and building muscle memory for it (a few years by my count), so it's probably not cost-effective for me to switch to Vim for something like this.
Why would anyone want this?
EDIT: Not meaning to be abrasive. But by most accounts the strength of vim is its keybindings whilst the strength of emacs is everything about its ecosystem. Hence evil mode for emacs is a thing.
VIMs worth learning just so you see the other side of the fence, but if your goal is just productivity, CLion does everything that that VIM configuration does and more (and there are GNU/Emacs key-bindings).
I think it would be a good idea to take components from a full open source IDE such as Qtcreator and make them CLI friendly.
That way you could get all of the features of an IDE working on the command line properly.
Following whatever trend is fashionable at the moment, most likely.