Генерация разумной ctags базы данных для Повышения

Я запускаю Ubuntu 8.04, и я выполнил команду:

$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/stdlibcpp /usr/include/c++/4.2.4/

генерировать ctags базу данных для стандартной библиотеки C++ и STL (libstdc ++) в моей системе для использования со сценарием энергии OmniCppComplete. Это дало мне, очень разумные 4 МБ отмечают файл, который, кажется, работает довольно хорошо.

Однако, когда я выполнил ту же команду против установленных заголовков Повышения:

$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/boost /usr/include/boost/

Я закончил с файлом тегов на 1,4 ГБ! Я еще не попробовал его, но это кажется, любит, это будет слишком большим, чтобы быть полезным. Существует ли способ получить тонкий корпус, больше применимого файла тегов для моих установленных заголовков Повышения?

Править

Так же, как примечание, libstdc ++ включает TR1, который имеет, выделяют Повышения, освобождает в нем. Таким образом, должно быть что-то странное продолжение для libstdc ++ для выпуска файла тегов на 4 МБ и Повышения для окончания с файлом тегов на 1,4 ГБ.

Просто натыкался на это в списке рассылки Повышения:

Повышение пользователей повышения и автозавершение

ОТВЕТ

Благодаря Neg_EV для выяснения, какова проблема была, но существует намного лучший способ решить проблему, чем, что он предложил:

Удостоверьтесь, что способный файл является установкой и выполняет следующие команды

(Я сохраняю свои теги библиотеки в ~/.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 и Повышения 1.40, и это - то, на чем я протестировал это решение, но это должно работать с любой версией Повышения насколько я могу сказать.

21
задан Robert S. Barnes 13 March 2011 в 17:35
поделиться

1 ответ

используйте параметр

--sort=foldcase

Благодаря этому поиск тегов становится быстрее.

Цитата из справочной страницы ctags : «Значение foldcase определяет сортировку без учета регистра (или сортировку с учетом регистра). Для быстрого двоичного поиска файлов тегов, отсортированных с использованием функции свертывания регистра, потребуется специальная поддержка со стороны инструментов, использующих файлы тегов, например, из библиотеки ctags readtags или Vim версии 6.2 или выше (с использованием "set ignorecase"). Этот параметр должен стоять перед первым именем файла "

8
ответ дан 29 November 2019 в 21:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: