Использование чего-либо меньше, чем один для всего, на самом деле не имеет смысла для меня. Возможность быстрого перехода по вашему проекту - вот для чего нужны теги. Например, наш код разделен на 3 основных раздела: Включить /, Процессы /, Библиотеки /. Без возможности прыгать между ними я был бы невероятно непродуктивным.
Лично я использую cscope (его синтаксический анализ C ++ не очень хорош, но это нормально, и его интеграция с VIM лучше, чем просто ctags), но когда я использую ctags, я обычно просто добавляю --c++-kinds=+p
.