ATOM

Atomエディタでデフォルトのキーバインド(ctrl-shift-K)を無効にする

More than 3 years have passed since last update.

Preferences... ==> Keybindgs から your keymap file を開いて下記を追加する。

'atom-text-editor:not([mini])':

'ctrl-shift-K': 'abort!'

これで ctrl-shift-K のデフォルト動作(Delete Line)が無効になります。


ちょっとした説明

 私のATOK(Mac版)では日本語入力のOFFを ctrl-shift-K に割り当てているのですが、同じキーストロークがAtomでは Delete Line(行削除)になっています。その結果、日本語入力をOFFにするたびに、現在の行が削除されるという状態になっていました。

 ATOMでキーバインドを無効にする方法は、https://atom.io/docs/v0.184.0/advanced/keymaps の Removing Bindings に記述があるのですが、ここに示されている unset! や native! では、上記のキーストロークを無効にすることはできないようです。(Coreで定義されているものはダメなのかも?)

 そこで他に方法はないかな?とソースコードを探してみたところ、見つかったのが最初に出てきた abort! になります。こちらを試してみたところ、無事にデフォルト動作を無効にすることができました。

 ちなみにドキュメントに記載がない abort! ですが、native! の挙動に加えて event.preventDefault() を呼び出すようになっています。詳細は不明ですが、このおかげでデフォルトのイベントハンドラ(Delete Line)が動作するのが防げているのかなと思います。