普段KarabinerのEmacs Modeを使っているんですが、Sublime Textでの動作がいまいちだったのでsublemacsproをインストールすることにしました。
Karabinerでは複数のプロファイルを定義できるので、Sublime Text用の設定を定義して適宜切り替えればいいのですが、やはり手動での切り替えは面倒。
そこで、Sublime Textがアクティブな時だけ、自動的にEmacs Modeを無効にする方法を調べてみました。
private.xml Reference Manualの末尾からたどってEmacs Modeのソースを見てみると、"EMACS_MODE_IGNORE_APPS" で示されるアプリはEmacs Modeの対象外になるようになっているようです。
appdef.xmlというファイルを見ると、以下のように "SUBLIIMETEXT" という定義があるので、
<appdef>
<appname>SUBLIMETEXT</appname>
<equal>com.sublimetext.3</equal>
<equal>com.sublimetext.2</equal>
</appdef>
この定義を使って "EMACS_MODE_IGNORE_APPS" を再定義してやれば良さそうです。
オリジナルの "EMACS_MODE_IGNORE_APPS" は、replacementdef.xmlというファイルで定義されているので、そこに "SUBLIMETEXT" を追加してprivate.xmlの中に以下のように定義してあげます。
<replacementdef>
<replacementname>EMACS_MODE_IGNORE_APPS</replacementname>
<replacementvalue>
ECLIPSE,
EMACS,
REMOTEDESKTOPCONNECTION,
TERMINAL,
VI,
VIRTUALMACHINE,
X11,
SUBLIMETEXT
</replacementvalue>
</replacementdef>
これでSublime Textでの操作がだいぶ便利になりました。(^o^)/