SublimeText は、パッケージを追加することで、自分好みに好きな機能を追加することができる、便利なエディタですが、複数のパッケージを追加していくと、ある問題に遭遇します。
もくじ
ショートカットの重複
SublimeText の便利さは、機能が増やせるだけではありません。
コピー・カット・ペーストなどに限らず、文字列や行の選択方法も豊富に用意されている編集機能の豊富さ、また、その各機能にショートカットキーが用意されている操作性の快適さも忘れてはいけません。
もともとある豊富な機能それぞれに、ショートカットが割り振られていますが、基本的に SublimeText の追加パッケージにも各機能にショートカットが割り振られているので、増え続けていきます。
当然、覚えやすく使いやすい組み合わせのショートカットは、重複することが多くなります。
FindKeyConflicts
本来であれば、各パッケージで設定されているショートカットキーを確認するには、それぞれの設定画面を見比べるしかありません。
FindKeyConflicts は、ショートカットキーの組み合わせに対して、どのパッケージからどのような動作を割り当てられているかを、一覧にして表示します。
FindKeyConflicts:All Conflicts または FindKeyConflicts:All Key Maps to Buffer で、現在の状態を一覧表示します。
こちらの画像では、tab を押したときの動作に、AutoFileName と BracketHighLighter の機能が、割り当てられていることがわかります。
重複設定の変更
もし新たにパッケージを導入した後に一部ショートカットキーが使えなくなった場合、設定が重複しているる可能性が高いので、上記方法で FindKeyConflicts を起動し、目的のショートカットキーの組み合わせ箇所を確認します。
どのパッケージと重複しているか確認できたら、SublimeText の [ Key Bindings ] 設定画面を開きます。
すると、「 Default(OSX).sublime-keymap ― Default 」と「 Default(OSX).sublime-keymap ― User 」ファイルが、分割画面となって開きます。
「 Default(OSX).sublime-keymap ― Default 」の中から該当する箇所を探して、「 Default(OSX).sublime-keymap ― User 」へ貼り付けます。
[ Key Bindings ] では、複数の設定がされている場合、「 Default(OSX).sublime-keymap ― User 」へ書き込まれた設定が、最終的に適用されます。
重複して動作しなくなった設定を、User ファイルへコピペすることで、優先して使えるようになります。
まとめ
有名なところでは、Emmetのパッケージを導入すると、機能が豊富な分、他のパッケージと重複する設定が多いといいます。
私も以前 Emmet パッケージを入れていましたが、使えなくなるショートカットがあったので、消してしまいました。
現在の環境は、普段使いのショートカットキーに重複はありませんが、新パッケージの導入で衝突が起こったときは、お世話になると思います。
頻繁に使う機能でもないので、普段はアンインストールしています。