I use a similar approach and setting for c++, I purchased clion for two years and rarely used it, vim is just handy and light-weight, I will probably use clion when my project becomes huge, until then, vim is absolutely enough.
vim nowadays can find all the headers, do linter and auto-fix and auto completion, and when you're coding, you rarely need move the mouse at all, vim 8.2+ is itself a modern IDE inside a terminal, again, light and fast, I enjoy it.
vim nowadays can find all the headers, do linter and auto-fix and auto completion, and when you're coding, you rarely need move the mouse at all, vim 8.2+ is itself a modern IDE inside a terminal, again, light and fast, I enjoy it.