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の動きに近いかも。