为C / C ++标准库,boost和第三方库设置单独的ctags db

时间:2010-05-13 07:01:59

标签: c++ c linux vim ctags

我想为/usr/include/中的各种库设置单独的ctags数据库,以便与OmniCppComplete一起使用。

我们的想法是只能使用目标语言(C或C ++)引入特定项目所需的库。

例如,我想为标准C库创建一个数据库,一个用于C或C ++程序可能使用的系统库(插槽/网络可以想到),一个用于标准C ++库/ STL / Boost,然后是各种第三方库的其他数据库,如QT或glib。然后我可以通过在vim中输入set tags+= ~/.vim/somelib.tags来拉取内容。

我假设与C ++ stdlib和STL相关的所有内容都在/usr/include/c++中,并且Boost全部在/usr/include/boost中。不幸的是,似乎标准的C lib和系统库只是直接转储到/usr/include/中,并带有各种其他东西。

如何获取哪些文件和目录属于哪些库的列表?我在Ubuntu 8.04上。

1 个答案:

答案 0 :(得分:1)

apt-file是您在Ubuntu上的朋友。

以下命令将为您提供Boost所有包含文件的列表:

apt-file list -x "^libboost" | grep '/include/' | cut -f2 -d:

我会把剩下的作为读者的练习!

更新:为完整起见,如果您之前从未使用过apt-file update,请致电apt-file