2012-04-12 5 views
4

私はvim-railsctagsをメソッドのナビゲーションに使用します。そのために/home/***/.rvm/gems/ruby***/gemsctags -R *を実行します。しかし、このディレクトリでは、1つのフォルダに多くのフォルダがありました(たとえば、activerecord v。3.0.7/3.1.3/3.2.2/3.2.3)。そして、私が(ctrl+])メソッドに行ってみると、古いバージョンになります。どのように最新の宝石のバージョンでのみctagsを実行できますか?最新の宝石を生成するCtags

答えて

11

あなたはパイプ場合バンドラが

bundle show --paths 

でgemfileで宝石の場所を表示することができますこのリストを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

+0

アンドレアス、情報ありがとう。私は数ヶ月前にあなたのブログにこの質問を掲載しましたが、それを熟知していませんでした:私は、プロジェクトのファイルから発信しているときだけタグに行くことができます。一度私が使用している宝石の1つに含まれているファイルに入っていると、そのファイルで呼ばれているメソッドのうち、メソッド定義に従うことができません。私は、現在ブラウジングしているファイルとの相対的なctagsファイルの検索方法がわからないためだと思います。私が見ているような問題はありましたか? – Tonys

+0

トニーは、私は実際に少しこれをチェックし、アップデートを投稿する必要があるようです(私は数ヶ月前に言ったように):) –

0

回避策:私は直接的な方法はわかりませんが、手動で「タグ」ファイルを手動で編集し、古い宝石のすべてのバージョンを検索/置換して削除したり、関連するすべての宝石を削除することができます後で使用して、タグファイルに追加することができます上のセクションと[ctagsの3.2.3 -a]

+0

はい、私は知っています。しかし、 'tags'ファイルには63000以上の行があり、手動で編集するのは良い考えではありません。また、古い宝石のバージョンが必要な場合があるので、すべての宝石を取り除くことは、最新のバージョンのためにも良いアイデアではありません。 私の最初の質問は正しくありません。 'Gemfile'で使われているgemsのバージョンはどうすれば使えますか? – Eugene

関連する問題