vimperator + SplitBrowser で :on[ly] コマンド
vimperator 0.5.3用に書き直しました
僕の要望に答えて頂きありがとうございます。物凄くニッチな事をやっているのに刺激を受けてやってくれる方がいるとは非常に嬉しい。
で、実はもっと簡単(?)に出来たりするよって話。
vimperatorを使っているとツールバーも消しちゃっているかもしれないけど、ツールバーに分割
のメニューがあって、その中に分割したブラウザをすべて閉じる
ってのがある。
これをDOM Inspector
で解析すると、command
属性値がsplitbrowser-removeAll-command
となっている。検索(Ctrl + f)でid
属性値がsplitbrowser-removeAll-command
を探すとcommand要素が引っかかり、oncommand
の属性値がSplitBrowser.removeAllSubBrowsers();
となっている。
ということで、以下のような感じで出来ちゃう。
vimperator.commands.add(new vimperator.Command(['on[ly]'], function(){ if (SplitBrowser.browsers.length > 0) { SplitBrowser.removeAllSubBrowsers(); // 分割したブラウザをすべて閉じる // 好みで↑↓選ぼう // SplitBrowser.gatherSubBrowsers(); // すべての分割したブラウザをタブに集める } else { vimperator.echoerr('SubBrowser is none'); } },{ usage: ['on[ly]'], shortHelp: 'close split browser', help: 'on[ly]' } ));
コメントにしてあるけど、同様の方法でSubBrowserをタブに開きなおすメソッドが用意されている事も分かる。vimの:only
はこちらに近いかもしれない。
そして、今気付いたけど、:split
,:only
コマンドはvimのというより、GNU screenの動きに近いかも。