LoginSignup
10
11

More than 5 years have passed since last update.

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

Posted at

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)が動作するのが防げているのかなと思います。

10
11
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11