Vim - 新しくhelpウィンドウを開くプラグインを作った
vim-helpnewというプラグインを作りました。
ウィンドウ2分割でhelpを見る(プラグインなし)
通常、:help
バッファは同一タブ内では使いまわされます。
:help
でヘルプを開きます。
この状態で別のhelpを見たくなりました。
上のウィンドウに移動して、 :help pattern
とタイプします。
(違いが分かるように適当にキーワードを指定して開いています)
このとき上ウィンドウ、もしくは新しいウィンドウで開くことを期待するのですが、実際には既存のhelpバッファ(画像で言えば下ウィンドウ)が変更されます。
悔しくて呟きます。
vimの1タブの中で、別々ウィンドウに別々のヘルプを表示させたいんだけど出来るのだろうか。普通にhelpするだけだと既存のhelpバッファが変わってしまうけども
先人Vimmerが教えてくれます。
@kanno_kanno 無理やり出来ましたw:h:set bt=nofile:h<C-W>p:set bt=help※1行目と3行目で同じヘルプファイルを開く場合は最後の2行は省略可能です。 #vim
※実際のツイートは改行されているんですが、ブログ上では消えちゃっていますね。 こうなっています。
:h :set bt=nofile :h <C-W>p :set bt=help
試してみます。
横分割を繰り返すと見辛かったので、:vertical help pattern
として縦分割にしています。
喜びます。
@h_east おおー出来ました!これです、ありがとうございます!
2013-03-22 17:32:29 via twitcle plus to @h_east
ちなみに、もちろんhelpを引き直した時はそのウィンドウが対象になります。
上記画像にて、右ウィンドウで :help append
とタイプします。
右ウィンドウが変わりました。
今度は下ウィンドウに移動して :help concat
とタイプします。
下ウィンドウのヘルプが変わりました。ばっちり。
もっともっと分割
教えて頂いた手順は以下のようになっています。
- 現在開いているヘルプバッファの
bt(buftype)
をnofile
に変更する - 新しくヘルプを開く
nofile
になっているヘルプのbt(buftype)
をhelp
に変更する
つまり、上記を繰り返せばいくつでもヘルプウィンドウを増やせます。
例えば3画面にする場合は既存の2つのヘルプを nofile
にして、ヘルプを開き、help
に戻してあげればいいのです。
でもこれを毎回実行するのは少し手間かもしれませんね。 ということで、せっかくのネタだしプラグイン化しました。URLは冒頭の通り。
プラグインの使い方
まず最初は普通に :help
かプラグインの :HelpNew
でヘルプを開きます。
あとはそのヘルプウィンドウを更新したければ通常の :help
を、新しくヘルプウィンドウを作りたければ :HelpNew
を使います。
これで邪魔な無名バッファを消して、ヘルプウィンドウだらけに出来ます。
HELP!!!!