コード中の class や function を perldoc で簡単に表示できる Vim プラグイン
id:secondlife さんの Vim プラグイン perldoc.vim がやばい。
久々にすごいヒット。使い方も簡単。インストールも簡単。
以下、本家引用
適当な func/class の上で K で読めるようになる。 perldoc 表示側でも K で飛べるのでぐるぐる巡れる。 s でソースコードとトグルする。
ここでいう func って perldoc -f で探すもののこと。(my, open, map とか)
はまりどこ
そんなだいそれたものでもないけど。。。
- ~/.vim/ftplugin/perl/init.vim に setlocal iskeyword+=: をかく。かかないとモジュール名(::)で区切られて perldoc が開く。(ex. URI::Simple => URIで開く):set iskeyword で確認できるよ。
- syntax plugin on ってのが
.vimrc に書いてないと、そもそも plugin 自体が動かない。
初めての VimScript そして github
凄い便利だけど、個人的に横分割があまり好きでない。
というわけで、ソースもみやすそうだったので縦分割で見れるようにいじってみた。
VimScript 触るのは初めてだったけど、help と勘でどーにかなった。
といっても何をやってるかはほんとに勘でこうだろうと
決めつけていじってるので何かあった時はご了承をw
~/.vim/ftplugin/perl/init.vim にこれを追記すると縦分割で表示されるようになる。 let b:window_vsplit = 1
--- perldoc.vim 2009-05-29 03:14:14.000000000 +0900
+++ perldoc_vsplit.vim 2009-05-29 03:14:02.000000000 +0900
@@ -13,17 +13,26 @@
let s:buf_nr = -1
let s:mode = ''
let s:last_word = ''
+let b:window_vsplit = 0
function! s:PerldocView()
" base on FuzzyFinder WindowManager
let cwd = getcwd()
if !bufexists(s:buf_nr)
- leftabove new
+ if b:window_vsplit
+ rightbelow vnew
+ else
+ leftabove new
+ end
file \[Perldoc]
let s:buf_nr = bufnr('%')
elseif bufwinnr(s:buf_nr) == -1
- leftabove split
+ if b:window_vsplit
+ rightbelow vnew
+ else
+ leftabove new
+ end
execute s:buf_nr . 'buffer'
delete _
elseif bufwinnr(s:buf_nr) != bufwinnr('%')
ソースは github にあります。
dealforest’s perldoc-vim at master – GitHub
git さわろうさわろうと思ってよーやくさわってみた。
fork していいものか分からなかったけど勢いでしてみた。
まずかったらすみません。。。
なんにせよ初めて尽くしで色々おもしろかったー。
せっかく fork したんだし、これを機に勉強を兼ねてしばらくいじろうかな