我希望能够在我的项目中的任意子目录中启动
vim,并让它搜索标签文件的项目根目录,然后在项目树外部的不相关目录中搜索.
例如,假设我有以下内容:
~/projects/foo/bar/baz.c ~/projects/foo/tags ~/some/arbitrary/path/tags
我想从bar子目录中打开baz.c,让它搜索到foo / tags,然后搜索一些/任意/路径/标签,如果在foo / tags中找不到符号.
现在我知道我能做到:
set tags=./tags,tags;
完成第一项任务.它显然是分号,告诉vim搜索根.但是以下两种方法都不起作用:
set tags=./tags,tags,~/some/arbitrary/path/tags; set tags=./tags,tags;~/some/arbitrary/path/tags
第一个只找到来自〜/ some / arbitrary / path / tags的符号,而第二个只找到项目根目录下的tags文件中的符号.
有人知道怎么做吗?我正在Linux上购买.
解决方法
我用:
set tags=~/.tags set tags+=~/.vim/tags/cpp set tags+=~/src/git/gitsrc/tags " and so on...
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
我从C++ code completion vim tip改编了这个设置.