キーバインドの競合

diary

自分は Sublime Text 2(以下 ST2)をメインのエディターにしている。

ST2 には Mac だとcommand+control+ or でキャレットのある行を前後の行と入れ替える機能がある。大変便利なので重宝していたのだけど、このキーバインドで煩わしい問題が起きたので記念ポエムを書く。

使用マシンが MacBook Air 11-inch で画面に余裕がない人生を強いられているから、Spectacleというカレントウィンドウをリサイズできるユーティリティーソフトを入れてみた。しかし前述のcommand+control+ or のキーバインドが Spectacle と競合し、ST2 の方の機能が使えないということが起こった。

Spectacle もキーバインドはカスタマイズできるので ST2 とかぶらないように変更し ST2 の行入れ替えも動作してウハウハと思ったのは束の間、今度は Photoshop と競合した。なのでまた Spectacle の方を変更したら、今度はSipというカラーピッカーと競合した。思わず舌打ちした。

ST2 と Photshop はアプリケーションが互いに干渉することはないが、Spectacle や Sip といったものは他のアプリケーションを使っている間でも操作ができるようにキーバインドの影響するレイヤーが上位になっている。Alfred もこの類だ。

こういった上位レイヤーのアプリケーションにたくさんのキーバインドが設定されていると、下位レイヤーのアプリケーションにもろに影響してそれらの便利機能が失われてしまう。

インストールしたてではキーバインドを知っていることはなく、またキーバインドというのは使ってるアプリケーションと強く紐付いて認識しているため、カスタマイズ中でも「あ、この組み合わせはあっちのアプリで使ってるな」などとすぐに思い至ることは少ない。Mac のシステムのキーバインドとも競合していたりでキー設定のループからなかなか抜け出せない。

ST2 はそのあたり賢くて、半分くらいはcommand+kの後に連続でキーを入力する方式で豊富なキーバインドを実現している。この連続入力式のキーバインドができるアプリケーションは少ないと思う。

前ポストの話にも繋がるが、こういう設定をちまちまやるのは本当に時間の無駄に感じてしまう。なのでこういった設定ファイルはすべからくエクスポートできるようになっていると嬉しい。