C++ 建立独立的ctags数据库';s代表C/C++;标准LIB、boost和第三方LIB
我想在C++ 建立独立的ctags数据库';s代表C/C++;标准LIB、boost和第三方LIB,c++,c,linux,vim,ctags,C++,C,Linux,Vim,Ctags,我想在/usr/include/中为各种库设置单独的ctags数据库,以便与一起使用 这个想法是能够只使用目标语言中的特定项目所需的库-C或C++。 例如,我希望有一个标准C库的数据库,一个用于C或C++程序(socket /网络)的系统库,一个用于标准C++ LIBS/STL /Boost,然后是其他第三方库的数据库,如Qt或GLIB。然后,我可以通过在vim中键入set tags+=~/.vim/somelib.tags来拉入一些内容 我假设与C++ STDLIB和STL相关的所有东西都在>
/usr/include/
中为各种库设置单独的ctags数据库,以便与一起使用
这个想法是能够只使用目标语言中的特定项目所需的库-C或C++。
例如,我希望有一个标准C库的数据库,一个用于C或C++程序(socket /网络)的系统库,一个用于标准C++ LIBS/STL /Boost,然后是其他第三方库的数据库,如Qt或GLIB。然后,我可以通过在vim中键入
set tags+=~/.vim/somelib.tags
来拉入一些内容
我假设与C++ STDLIB和STL相关的所有东西都在
和其他各种东西中/usr/include/
apt-file list -x "^libboost" | grep '/include/' | cut -f2 -d:
我把剩下的留给读者做练习
Update:为了完整起见,如果您以前从未使用过
apt file
,请调用apt file Update
。一个有趣的问题,但如果您最终想要的是如何区分标题,那么标题可能会误导您?知道哪些目录属于哪些libs重要吗?@Johnsyweb:Yeah,主要是哪些文件和子目录属于标准C库,哪些文件和子目录属于系统库,比如网络。这很有意义。如果我再看一遍标题,我就不需要问:-)我在我的系统上试过了,初始的apt文件列表-x“^libboost”
根本不产生任何输出。这很奇怪。Boost是使用apt安装的吗?如果您尝试apt文件列表-vx'^libstdc++
@Johnsyweb,您会得到什么:我使用sudo-apt-get-install-libboost-*
安装boost。您刚才给我的命令显示了一个deb存储库列表。我希望在详细的[-v
]输出的开头看到一堆deb存储库,但是我希望看到作为libstdc++6-4.4-doc
等的一部分安装的所有文件的列表。我不知道为什么这对您不起作用。我已经在许多Ubuntu 10.04安装上测试过了。@Johnsyweb:tweek-cut
在每行输出的开头加上一个空格,这会使CTAG发臭。剪切Cut
并改用它:apt文件列表libc6 dev | grep-o'/usr/include/*h'>~/.vim/tags/libc6文件列表