2012-03-25 58 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的用法。