gem-ctagsとrbenv-ctagsを使用して、gem と ruby ライブラリのインデックスを作成しています。
また、Vim がタグ ファイルを探す場所に影響を与えるいくつかのプラグインを使用します。
- vim-ruby (ruby 標準ライブラリ)
- vim-bundler (宝石)
- vim-逃亡者(git リポジトリ)
- vim-rails (Rails プロジェクト)
適切にインデックス化されたコードベースを飛び回ることができるのは素晴らしいことですが'tags'
、タグ スタックをナビゲートするときに Vim のオプションが誤って処理されていることに気付きました。
Rails プロジェクトから始めて、アプリ内、Ruby 標準ライブラリ (現在のプロジェクトに関連するバージョンの Ruby)、または gem など、好きな場所にジャンプできることがわかりました。そこで、gem にジャンプしましたが、Vim はその gem のタグを見つけることができなくなり、その中で簡単にナビゲーションを行うことができなくなりました。
例: Ruby 2.1.0 と 2.2.0 がインストールされており、2.2.0 がグローバル デフォルトとして設定されています。
Ruby 2.1.0 を使用する Rails アプリのルート ディレクトリから空のバッファーで Vim を起動します。
:verbose set tags?
ショーの実行は'tags'
、vim-rails によって最後に設定されました。- タグは、アプリ自体、Ruby の標準ライブラリ (2.1.0)、および gem (2.1.0) で使用できます。
プロジェクトでファイルを開きます。
- 現在、レポート
'tags'
は vim-fugitive によって最後に設定されました。 - 上記と同じタグの良さ。ここまでは順調です。
gem 内のタグにジャンプします。
- 現在
'tags'
は vim-bundler によって最後に設定されており、作業ディレクトリ、現在のバッファーのディレクトリ、および ruby 2.2.0 標準ライブラリのみが含まれています。
ナビゲートしているgemのルートディレクトリにあるタグファイルが見つかったことを確認するにはどうすればよいですか?
注: Tim Pope のrbenv-sentienceから着想を得て、適切な .ruby-version ファイルを各 Ruby インストールのルートに追加しました。'tags'
gem に移動すると、まだ gems パスが失われますが、少なくとも標準ライブラリの正しいバージョンが反映されるようになりました。一歩近づく...