3

当我运行命令时,我正在按照teuton.blogspot.com上的指南设置自动完成功能:

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

生成一个标记文件,只是意识到该命令将生成一个 1.5GB 的“commontags”文件——毫无疑问,比我希望的要大一些。所以我想知道是否有某种方法可以压缩文件并让 vim 仍然识别它?

我尝试通过 gzip 运行它,它把它缩小到 25MB,但是我没有运气让 vim 使用那个文件。

有任何想法吗?我将不胜感激!

/B2S

4

2 回答 2

5

即使您可以压缩标签文件,vim 仍然会有解压缩它以进行搜索的开销。

你最好的选择是排除你不需要的东西。大多数 /usr/include/ 可能是安装源包所需的开发文件。

您最好创建一个与您的开发项目相关的标签文件。基本上,当您归档时选择进入一个目录,您不能标记跳转到它。而不是建立一个庞大的不相关标签列表。即使您的机器足够快来处理它,您仍然必须处理重复的名称。

如果你想吸收你可以使用的所有东西 --exclude 将它削减到一个可管理的大小。IE。黑名单而不是白名单方法。

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 `
于 2010-09-13T01:09:21.850 回答
5

使用--excmd=number应该将文件大小减少大约 50%,因为 ctags 只会存储匹配的行号而不是搜索模式。/usr/include如果文件不经常更改,这应该没问题。

于 2010-09-13T01:24:42.863 回答