Vimでカーソル下のPerlモジュールを開く


http://labs.unoh.net/2006/08/vi_ctags.html


Vimとctags の連携が紹介されていたので、ついでにこちらも紹介してみる。


Vimでは、デフォルトで「gf」のキーバインドに、カーソル下の単語をファイル名として開く機能が割り当てられている。

カレントディレクトリのファイル名なんかは何も設定なしで開ける。


pathオプションを設定しておけば、そのディレクトリ下のファイルも開ける。

UNIX系OSではデフォルトで

set path=.,/usr/include,

となっていることが多いようなので、たとえば

#include <stdio.h>

の「stdio.h」の上で「gf」を押すと、「/usr/include/stdio.h」がそのまま新規バッファで開く。

なので、PHPな人は

set path+=/usr/local/lib/php

とかしておくと、requireのファイル名のところで「gf」を押せばそのファイルが開けるので便利だと思う。
(最近PHPは使ってないので自分では設定してないけど)


で、ここからが本題なのだけど、Perlの場合は

use XML::RSS;

のようにファイルパスを書くことがあまりないのでこの機能が使えないわけだけど、デフォルトで入ってるPerlのファイルタイププラグインをロードしていると、同じように開ける。

手元の環境で「XML::RSS」の上で「gf」を押したところ「/usr/local/lib/perl5/site_perl/5.8.8/XML/RSS.pm」が開いた。


「@INC」を見に行くので、自作のモジュールも環境変数「PERL5LIB」が設定してあれば同じように開ける。


ただ、デフォルトではちょっと問題があって、

my $rss = XML::RSS->new;

のところで「gf」を押すとハイフンが邪魔して認識しないので、以下の設定をしている。

autocmd FileType perl set isfname-=-

便利!


Emacs用のはid:higeponさんがこちらで実装されていたのでEmacsな人はそちらを。