更改到该目录时,如何从目录自动加载标记文件?

x-x*_*x-x 3 vim ctags

对于我的每个C++项目,我在源树的根目录中保留一个标记文件.当我更改它时,如何让Vim自动加载该目录的标记文件?

例如,我的目录布局如下所示:

~/dev/project1/tags
~/dev/project2/tags
Run Code Online (Sandbox Code Playgroud)

我启动Vim(来自GUI),当前工作目录默认为$ HOME.我键入:cd ~/dev/project/并且Vim应该加载~/dev/project/tags.明天我可能想在project2上工作,所以我希望Vim能够为我加载该项目的标签cd.

如何才能做到这一点?

rom*_*inl 11

只需将以下行添加到您的~/.vimrc:

set tags=./tags;,tags;
Run Code Online (Sandbox Code Playgroud)

这意味着" tags在当前文件的目录中查找文件,然后向上直到/和在工作目录中,然后向上直到/".

换句话说,无论您在项目中的哪个位置,Vim都会获得tags项目的权利.

:help tags 这是一个很好的阅读,它可以节省你在这里发布问题的麻烦.

注意:该行的神奇部分是;"向上搜索".你可以像这样给Vim一个上限:;$HOME.