FirefoxでCtrl+Q(他のタブを閉じる)を実現する方法

Firefoxには多くのキーボードショートカットが用意されており、たとえばCtrl+W(タブを閉じる)などが利用できる。しかし残念なことに「他のタブを閉じる」に関しては機能が用意されていない。

SleipnirLunascapeでは「他のタブを閉じる」はCtrl+Qに割り当てられており、多くのタブを開いた時に、現在開いているタブ以外のすべてのタブを一掃するのに威力を発揮する。個人的には最も便利なショートカットの一つである*1にも関わらず、Firefoxに標準で用意されていないのは意外だ。キーアサインが違うだけならば、窓使いの憂鬱でキーアサインを変えることで対応できるのだが、そもそも対応するショートカットが無ければその手は使えない。

結局、Firefoxで実現するためには、キーボードショートカットをカスタマイズするアドオンであるKeyconfigを導入する必要があるが、Keyconfigにも標準では他のタブを閉じる機能が用意されておらず、自分でコードを指定する必要がある。キーボードショートカットを多用するような人には周知の内容だろうが、Sleipnirにある○○な機能は?にもCtrl+Qを実現する方法までは載っていないので、備忘録として記録しておく( 2008年5月版 Sleipnir→Firefox移行の手引きを補完する目的もある)。

Keyconfigのインストール

まず、Firefoxでキーボードショートカットのカスタマイズを実現するアドオンであるKeyconfigを導入する。作者の公開ディレクトリにおいてFirefox3.0系に対応した最新版が入手できるので、keyconfig.xpiをクリックしてインストールを行う。

Keyconfigの設定

Firefoxメニューの「ツール(T)」→「キーボードショートカットのカスタマイズ(K)」を開く。最下部の「新しいキーを追加」ボタンを押してKey Editorを開く。

名前を「他のタブを閉じる」として、次のコードを貼り付けて、OKボタンを押す。

gBrowser.removeAllTabsBut(gBrowser.mCurrentTab);

新たに追加された「他のタブを閉じる」に対して、ショートカットとして「Ctrl+Q」を割り当てる。これで、一発で増えすぎたタブを一掃することができる。


タブ移動への応用

さて、ここからはおまけ。

SleipnirではMoon Browser等の初期の国産タブブラウザの伝統に従って、左のタブへの移動がF2/Ctrl+Shift+Tab、右のタブへの移動がF3/Ctrl+Tabに割り当てられていたが、海外産のFirefoxではそれぞれCtrl+PageUp/Ctrl+Shift+TabとCtrl+PageDown/Ctrl+Tabに割り当てられている(Tabを利用するショートカットは完全に逆の動作になってしまっている)。

これをSleipnirと同様にF2/Ctrl+Shift+Tab、F3/Ctrl+Tabで行いたい場合にはそれぞれ次のコードを割り当てればよい*2。筆者の場合はそれぞれCtrl+,(Ctrl+<)とCtrl+.(Ctrl+>)に割り当てているが、アクセス性よりもわかりやすさを重視するのならば、Ctrl+←、Ctrl+→等に割り当てても良いだろう。

左のタブへ移動
gBrowser.mTabContainer.advanceSelectedTab(-1,true);
右のタブへ移動
gBrowser.mTabContainer.advanceSelectedTab(1,true);

鳥獣保護区 | Firefox のタブ移動ショートカットキーには現在のタブを閉じて隣のタブに移動するショートカットキーのコードも公開されているので必要な人は参照すると良いだろう。

あと、タブ操作で重要になる最後に閉じたタブを復元(Ctrl+F12)に関しては、keyconfigにおいて予めコマンドが用意されているので、コードの追加無しにSleipnirのCtrl+LないしはLunascapeのCtrl+Z等に再割り当てすることができる。

また、keyconfigに加えてfunctions for keyconfigを併用すれば多くの独自機能をショートカットに追加することができるので、欲しい機能がある人は試してみると良いだろう。

*1:タブブラウザを便利に使うショートカット【タブ編】において、Lunascape近藤氏がCtrl+Qをオススメショートカットの4番目に挙げられているので、愛用者は多いと思う。多分。

*2:もちろん、窓使いの憂鬱を利用してショートカットのキーアサインを変えることでも実現できる。