+4  A: 

Even if you could compress the tags file vim would still have the overhead of uncompressing it for searches.

Your best bet is excluding what you don't need. Most of the /usr/include/ are probably dev files you needed to install source packages.

You're better off creating a tags file relevant to your development projects. Basically opt in to a directory when you file you cant tag jump to it. Rather than build an enormous list of irrelevant tags. Even if your machine is fast enough to process it you will still have to deal with duplicate names.

If you want to suck in everything you might be able to use --exclude to chop it down to a manageable size. ie. a blacklist rather than a white list approach.

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

I'd personally do something like

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

Using --excmd=number should cut the file size down by around 50% because ctags will only store line numbers of matches instead of a search pattern. This should be fine if the files in /usr/include don't change very often.

too much php
Eggselent! Not quite the compression I was hoping for, but well on the way. Tag file went from 1.5GB to 116MB. Thanks!
Born2Smile
A: 

try this plugin http://www.vim.org/scripts/script.php?script_id=3082

Sanek