Ответ 1
В то время как предложения здесь могут работать в начале, я не уверен, что это правильный путь. Согласно разработчику YCM, всякий раз, когда вы начинаете проект, вам нужен новый .ycm_extra_conf.py файл
Из https://valloric.github.io/YouCompleteMe/#ubuntu-linux-x64-super-quick-installation
YCM ищет файл .ycm_extra_conf.py в каталоге открытого файла или в любом каталоге выше его в иерархии (рекурсивно); когда файл найден, он загружается (только один раз!) в качестве модуля Python. YCM вызывает метод FlagsForFile в этом модуле, который должен предоставить ему информацию, необходимую для компиляции текущего файла. Вы также можете указать путь к глобальному файлу .ycm_extra_conf.py, который будет использоваться в качестве резервной копии. Чтобы предотвратить выполнение вредоносного кода из файла, вы не писали YCM спросит вас один раз за .ycm_extra_conf.py, если он безопасен для загрузки. Это можно отключить, и вы можете использовать файлы white/blacklist. Подробнее см. В разделе "Параметры".
Хотя вам может потребоваться изменить флаги компиляции из vanilla.ycm_extra_conf.py, я считаю, что желательно создать новый файл для каждого запускаемого проекта.