ダメ人間オンライン

あまり信用しないほうがいい技術メモとか備忘録とかその他雑記

unite.vim + perldoc.vim

unite-perldoc

perldoc.vim 便利ですよね。僕も愛用させてもらってます。

モジュール名の上にカーソルがある状態で K を入力するとドキュメントが見れるし

:Perldoc HogeFuga

としても同じように見れる。しかも補完も効く。ステキ。

カーソルがモジュール名の近くにあるか、調べたいモジュール名がはっきりわかってる場合にサッとドキュメントをひけるってわけですね。

けど上記を満たさない場合だと若干手間取ってしまう。例えば、

my $nanntoka = SugokuOboeduraiNamaeNoModuleDesuyo->new();

...
# 上のモジュール名が見えなくなるぐらいの行数を間に挟んでから
$nanntoka->shiran_method( 'hanage' );

みたいな時に「あー、このshiran_method()ってなんやろー。モジュール名なんやっけ、えっと、、、」ってなって上にスクロールして戻って「そうそうこういうモジュール名やった」って言いながらperldocで引くみたいな感じになってサッと引けないことがある。

今となってはそんなことが本当にあったのかどうかも疑わしいけどあったということにしとく。

ので今開いてるファイルでuseしてるモジュール名をunite.vimで一覧表示してそこからperldoc引けたらサッとできそうってことでやってみた。

dameninngenn/unite-perldoc · GitHub
f:id:dameninngenn_owata:20130426021332p:plain

正規表現でuse なんとかを引っ掛けてそれを:Perldocに渡してるだけです。requireはとりあえず考慮してない。vimの正規表現こわい。

とりあえずそれっぽくできたので満足した。

ref.vim

ref.vimというperlだけに限らず他の色んな言語のリファレンスを引ける便利なプラグインがあって、それだと標準でuniteから使えるみたいな感じだったので試してみた。

特に何も設定なし
f:id:dameninngenn_owata:20130426021335p:plain

let g:ref_perldoc_complete_head = 1
f:id:dameninngenn_owata:20130426021323p:plain

という表示になって候補となるモジュール名をpathを走査して一覧表示してるっぽい感じ(ちゃんと確認したわけではないですが)で今開いてるファイルに含まれるモジュール名を表示するっていうやりたい事とはまた別の用途な気がした。uniteのインターフェースで絞り込んだりして引きたいって場合に便利そう。