I’d suggest going with LazyVIM / SpaceVIM as a starting point, though, as configuring vim from blank state is an art itself and requires quite some time and dedication.
AKSHUALLY you are not supposed to do manual memory management in C++ as well