我希望能够在我的项目中的任意子目录中启动
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改编了这个设置.