
vimプラグインでよりよいコーディングを
http://tech.kayac.com/archive/vim-plugin-coding.html
上のリンクを読んで、vim-ref を導入してみた。各種言語のドキュメントや、モジュールのソースが簡単に開けるようになって便利だ。詳しい使い方はリンク先を参照して貰うとして、Windows 版 Vim だと次のエラーが出てうまく使えないことがあった。

ref: perldoc: No documentation found for "モジュール名".
よくよく調べてみると、$HOME/vimfiles/autoload/ref/perldoc.vim に一部間違いがあったので次のように修正。
*** perldoc.vim.orig 2010-11-05 13:28:04.251766800 +0900
--- perldoc.vim 2010-11-05 13:32:48.729619800 +0900
***************
*** 229,239 ****
function! s:modules_list(name) " {{{2
! let inc = ref#system(['perl', '-e', 'print join('':'', @INC)']).stdout
let sep = '[/\\]'
let files = {}
let modules = []
! for i in split(inc, ':')
let f = split(glob(i . '/**/*.pm', 0), "\n")
call filter(f, '!has_key(files, v:val)')
for file in f
--- 229,240 ----
function! s:modules_list(name) " {{{2
! let del = has('win32') ? ';' : ':'
! let inc = ref#system(['perl', '-e', 'print join(''' . del . ''', @INC)']).stdout
let sep = '[/\\]'
let files = {}
let modules = []
! for i in split(inc, del)
let f = split(glob(i . '/**/*.pm', 0), "\n")
call filter(f, '!has_key(files, v:val)')
for file in f
@INC に納められたパスを“:”でつないで変数に納め、それを後で split しているのだが、これが Windows におけるドライブパス(“C:”など)と誤爆してしまうようだ。正確には、gvim.exe を起動するとき、カレントディレクトリが Perl をインストールしたディレクトリと違うドライブにあるときに、この問題が顕在化する1。
Vim を再起動後、-updatecache オプションを付けて起動すると変更が反映されているはずだ。
:Ref -updatecache perldoc Encode
-
例えば、Perl を C ドライブ、Vim を D ドライブにインストールして、エクスプローラーで
gvim.exeをダブルクリックして起動した場合。 ↩

ありがとうございます。最新版で修正しました。
すばらしいプラグインをありがとうございます。
お役に立てて幸いです。