Есть ли способ сжатия tagfile в vim - PullRequest
3 голосов
/ 13 сентября 2010

Я следовал руководству на teuton.blogspot.com , чтобы настроить автозаполнение, когда я выполнил команду:

ctags –R --c++-kinds=+p --fields=+iaS --extra=+q \
    -f ~/.vim/commontags /usr/include

для создания файла теговтолько для того, чтобы понять, что команда сгенерирует файл 'commontags' объемом 1,5 ГБ - немного больше, чем мне бы хотелось, без сомнения.Поэтому мне было интересно, есть ли какой-нибудь способ сжатия файла, и vim все еще распознает его?

Я попытался запустить его через gzip, который сжал его до 25 МБ, но мне не повезло, когда я использовал vim для использованиявместо этого файла.

Есть идеи?Буду благодарен!

/ B2S

Ответы [ 2 ]

5 голосов
/ 13 сентября 2010

Использование --excmd=number должно сократить размер файла примерно на 50%, потому что ctags будет хранить только номера строк совпадений вместо шаблона поиска. Это должно быть хорошо, если файлы в /usr/include меняются не очень часто.

5 голосов
/ 13 сентября 2010

Даже если бы вы могли сжать файл тегов, у vim все равно были бы издержки распаковки его для поиска.

Ваша лучшая ставка исключает то, что вам не нужно.Большинство из / usr / include /, вероятно, являются файлами dev, необходимыми для установки исходных пакетов.

Вам лучше создать файл тегов, соответствующий вашим проектам разработки.В основном, вы выбираете каталог, когда не можете перейти к нему.Вместо того, чтобы создавать огромный список ненужных тегов.Даже если ваша машина достаточно быстра для обработки, вам все равно придется иметь дело с дублирующимися именами.

Если вы хотите всосать все, что вы можете использовать, --exclude, чтобы сократить его до приемлемого размера.то есть.черный список, а не белый список.

man ctags
/--exclude <-- to search for exclude 

Я бы лично сделал что-то вроде

`ctags –R --c++-kinds=+p --fields=+iaS --extra=+q \
-f ~/.vim/commontags /usr/include/lib_i_need_a /usr/include/lib_i_need_b `
...