2012-03-25 54 views
1

我刚刚熟悉Vim的CTags功能 - 它该死的方便。Vim&ctags:所有项目的常见ctags?

但我有一个问题,是为每个项目重新生成通用标签。

例如 - 我在轨工作的公平位,并为其生成整个Rails框架的ctags与

alias rctags="ctags -R `bundle show rails`/../*" 

的问题是我必须为每一个轨道项目,我开始了做。

那么,只要打开的文件满足特定的条件,在任何vim会话中自动访问一组标签的标准方法是什么 - 理想情况下是。 (如导轨预装了.RB文件CTAGS,但不是.py文件)

任何想法表示赞赏

回答

2

:help 'tags'

您可以使用,例如:

set tags+=~/.rails-tags 

这将导致~/.rails-tags要搜索的标签。

(此外,在标签的话题:它可能是有用的与;/到后缀tags变量这意味着“在工作目录中的每一位家长(例如,所有的文件/foo/bar/tags/foo/tags搜索标签文件,和。 。/tags会被搜索。例如,我用:set tags=tags;/

2

为什么不使用已特别提出了在Vim的管理CTAGS插件Indexer

您可以在~/.indexer_files这样的定义项目:?

[my_rails_project] 
/path/to/the/needed/directory 

甚至

[my_rails_project] 
option:ctags_params = "--languages=Ruby" 
/path/to/the/needed/directory 

然后每次你打开红宝石文件时间(即(当然还有子代),你的标签会在后台进程中自动生成,当你从这个项目中保存任何文件时,标签也会自动更新(同样在后台) 。

所以,你不应该关心你的标签生成,它只是工作。

欲了解更多信息,请参阅文章:Vim: convenient code navigation for your projects,它彻底解释了Indexer + Vimprj的用法。