Я запускаю Ubuntu 8.04, и я выполнил команду:
$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/stdlibcpp /usr/include/c++/4.2.4/
для создания базы данных ctags для стандартной библиотеки С++ и STL (libstdС++) в моей системе для использования с OmniCppComplete vim script. Это дало мне очень разумный файл тегов 4 МБ, который, кажется, работает достаточно хорошо.
Однако, когда я запускал ту же команду против установленных заголовков Boost:
$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/boost /usr/include/boost/
Я закончил с файлом тегов размером 1,4 ГБ! Я еще не пробовал, но похоже, что он будет слишком большим, чтобы быть полезным. Есть ли способ получить более тонкий, более удобный файл тегов для моих установленных заголовков Boost?
Edit
Как примечание, libstdС++ включает TR1, который имеет в нем Boost libs. Поэтому для libstdС++ должно возникнуть что-то странное, чтобы выйти с файлом тегов размером 4 МБ и Boost, чтобы в итоге появился файл тегов размером 1,4 ГБ.
Просто просмотрел это в списке рассылки Boost:
Boost-users Boost и автозаполнение
ОТВЕТ
Благодаря Neg_EV для выяснения, в чем проблема, но там гораздо лучший способ решить проблему, чем то, что он предложил:
Убедитесь, что apt файл установлен и выполните следующие команды
(Я храню теги библиотеки в ~/.vim/tags/):
$ sudo apt-file update
$ apt-file list boost | grep -E -o '/usr/include/.*\.(h|hpp)' | grep -v '/usr/include/boost/typeof/' > ~/.vim/tags/boost-filelist
$ ctags --sort=foldcase --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/boost -L ~/.vim/tags/boost-filelist
Я обновил до Ubuntu 10.04 и Boost 1.40 и то, на что я тестировал это решение, но он должен работать с любой версией Boost, насколько я могу судить.