moribiru97のブログ

WEB系のプログラミングとかミドルウェアのメモ書きとかとか...

続:Perlのサブルーチン定義元を求めて・・・

 

Perlのサブルーチン定義元を求めて・・・ - moribiru97のブログ

 

ありました。ありましたよ!!

最近ジョインした職場のperl猛者達に聞いてみると、やはりどんぴしゃな奴がおりました。(まぁそうですよねあるに決まってますよね笑)

 

Ctags(Exuberant Ctags)というタグ生成ツールと、Vimのタグジャンプ機能を組み合わせてEclipseのようにクラスなどの定義元へジャンプする事が出来るそうでござんす。

対応してる言語はLanguages Supported by Exuberant Ctagsこんな感じ。

メジャーどころは一通り対応してるみたいですね。聞いた事無い言語もちらほら。

 

インストール

macには元々Ctagsが入っているようですがBSD版でショボイらしいので入れ直します。

brew install ctags

 

とりあえずジャンプしてみる

ジャンプまでの流れはこんな感じ

 

  • タグ作る
  • vimで読む
  • パッケージ名などをフォーカスしてCtrl + ]
タグ生成

perlのソースが入っているディレクトリに入って

ctags -R

するとカレントにtagsファイルが生成される。

-Rオプションで再起的にたどってくれるようやで。

 

vimで読む

カレントディレクトリにtagsファイルがあれば勝手に読んでくれる。

set tagsで指定してもOK。

飛ぶ

飛びたいパッケージ等にフォーカスしてCtrl+]でジャンプ、Ctrl+tで戻る。

Ctrl+wを押してから]で スプリットしてジャンプ。(vsで開くやり方は見当たらなかった)

vim7.3だとパッケージ区切りの「::」を認識してくれず、ヴィジュアルモードでパッケージ名をすべて選択しないと正常に飛んでくれずやきもきしていたが、7.4にしたところちゃんと動いてくれた模様。

 

今まで真剣にvim使った事無かったけど、やりたいと思った事は大体なんでも出きるんですね。コアなファンがいるのも頷けます。