2012-04-12 28 views
4

我用vim-railsctags的方法導航。對於它我運行ctags -R */home/***/.rvm/gems/ruby***/gems。但是在這個目錄中有許多文件夾只有一個不同的版本(例如activerecord3.0.7/3.1.3/3.2.2/3.2.3)。而當我嘗試去(ctrl+])方法,我到了舊版本。我如何才能使用最新的gems版本運行ctags?C標籤生成最新版本的寶石

回答

11

您可以捆綁顯示在Gemfile中寶石的位置與

bundle show --paths 

如果管這個列表成ctags我想你會有你需要的。

bundle show --paths | xargs ctags -R 

編輯: 在我這篇文章總結: http://heim.no/VIM/2012/04/19/generate-ctags-for-all-bundled-gems-in-a-ruby-project/

+0

你對!它好多了!謝謝! – Eugene 2012-04-14 08:13:10

+0

安德烈亞斯,感謝您的信息。幾個月前,我在你的博客上發佈了這個問題,但還沒有得到解決:我發現了一個問題,當我從項目中的文件發起時,我只能去標籤。一旦我在一個包含在我正在使用的其中一個gem中的文件中,我無法遵循該文件中調用的任何方法來定義它的方法。我相信這是因爲它不知道如何找到與我目前正在瀏覽的文件相關的ctags文件。你有沒有像我看到的任何問題? – Tonys 2012-08-31 03:28:48

+0

託尼,好像我居然還要檢查了這一點有點和發佈更新(因爲我幾個月前說的):) – 2012-09-11 08:27:39

0

解決方法:我不知道一個直接的方法,但你總是有手動編輯「標籤」的文件,搜索的選項/替換了所有舊版本的寶石和刪除它們或許刪除相關的所有寶石段和以後你可以追加到使用標籤文件[CTAGS -a 3.2.3]

+0

是的,我知道。但'標籤'文件有超過63000行,手動編輯不是好主意。並刪除所有寶石預計最新版本也不是好主意,因爲我可能需要更老的寶石版本。 我的第一個問題是不正確的。我如何使用'Gemfile'中使用的gem版本? – Eugene 2012-04-13 08:59:59