美好的一天,
我通常相对较小(不到2万行代码),它们包含在单个目录中的所有自我,有自己的Makefile,并且是相当容易的工作项目上工作。
VIM是我喜欢的编辑器,当我打开一个项目,我通常通过映射F10键建立ctags的列表:
map <F10> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
这让我跳的变量/结构/等通过定义将光标移动到文本,按CTRL +],以及使用代码完成通过OmniCppComplete一个下拉列表。
不过,我现在工作的一个稍大的项目,该项目利用结构的很多。 此外,许多这些结构具有其他自定义结构数组作为成员,因此,代码完成对我来说是非常有用和重要的工具,现在。
我有两个路径,其中包括了大量的.C
文件和.h
文件,它们可以从机器变成机器。 在每一台机器,但是,我们有我们的一个环境变量.bashrc
文件指向他们,像这样:
SDK_SRC_PLUS_HEADERS=/public/sdk
THIRD_PARTY_SDK=/private/sdk
我希望能有VIM自动引用的这些附加路径的内容时,我试图做代码完成(通过VIM的内置OmniCppComplete功能),或跳转到文件在这些地方,当我使用CTRL +]在VIM跳转到的一个结构,函数,变量等的定义
所以,对于上述两种路径的,我cd
放进去,并生成经由标签ctags -R
。 然后,我修改了我~/.vimrc
文件,包括额外的标签路径,如下所示:
tags=./tags
tags+=$SDK_SRC_PLUS_HEADERS/tags
tags+=$THIRD_PARTY_SDK/tags
然后我cd
到我的项目/home/user1/projects/test
,启动VIM,和VIM打F10索引它。 然而,这并不在所有的工作。 事实上,它打破了我的使用,即使标签只是项目本身的能力(即:CTRL +]现在什么都不做)。
有没有人对我怎么能有代码完成的源代码,并跳转到定义通过环境变量使用多个源目录有什么建议?
谢谢大家提前为你的时间和帮助!