今更聞けないvim:メソッドなどの定義にジャンプしたい…

pythonで書いたそんなに大きくないソースコードで、メソッドやクラスの定義にジャンプしたくなりました。pythonの入力補完にjediを使っているので、jediの機能の定義ジャンプを使えば全然問題ないのですが、pythonではないコードのときでも定義ジャンプがお手軽にできるようになると嬉しいのでctagsを使ってみます。

  1. ソースコードのルートディレクトリでctagsコマンドを実行
    ディレクトリを再帰的にたどるには -R オプションをつけます。
ProjectA$ ctags *
  1. tagsファイルが作成されたことを確認

  2. ソースコードをVimで開いて、次のキーバインドを試す

    • Ctrl + ]:タグの定義へジャンプ
    • Ctrl + T:ジャンプ元に戻る

    うまくジャンプできない場合は、:set tags?tagsファイルが読み込まれているか確認してください。

ジャンプできるのは、ctagsコマンドで読み込んだファイル内の定義に限られます。
そのため、通常は自分で書いた関数・クラス・変数などがジャンプの対象になります。

外部ライブラリや標準ライブラリにジャンプしたい場合は、該当するコードにもctagsをかける必要があります。