pythonで書いたそんなに大きくないソースコードで、メソッドやクラスの定義にジャンプしたくなりました。pythonの入力補完にjediを使っているので、jediの機能の定義ジャンプを使えば全然問題ないのですが、pythonではないコードのときでも定義ジャンプがお手軽にできるようになると嬉しいのでctagsを使ってみます。
- ソースコードのルートディレクトリでctagsコマンドを実行
ディレクトリを再帰的にたどるには-R
オプションをつけます。
ProjectA$ ctags *
tagsファイルが作成されたことを確認
ソースコードをVimで開いて、次のキーバインドを試す
Ctrl + ]
:タグの定義へジャンプCtrl + T
:ジャンプ元に戻る
うまくジャンプできない場合は、
:set tags?
でtags
ファイルが読み込まれているか確認してください。
ジャンプできるのは、ctags
コマンドで読み込んだファイル内の定義に限られます。
そのため、通常は自分で書いた関数・クラス・変数などがジャンプの対象になります。
外部ライブラリや標準ライブラリにジャンプしたい場合は、該当するコードにもctags
をかける必要があります。
リンク