つい先ほどAtomを0.208.0へ更新したら、"ctrl-/"キーの動作がeditor:toggle-comments
にすり替わっていました。
僕はatomic-emacsをインストールしているのでcore:undo
になるはずなんですが…
どうもAtomのコアキーバインディングが優先されてしまうように見えます。バグじゃないのかコレ? しかも、keymac.csonに以下のように記述してもダメ。
'atom-workspace atom-text-editor:not([mini])': 'ctrl-/': 'core:undo'
無理やりCoreキーバインディングを無効化
というわけで、どうにかCoreキーバインディングを無効化する手段がないか探した所、 init.coffeeで以下の通りにすれば出来ました。
atom.keymaps.keyBindings = atom.keymaps.keyBindings.filter( (binding) -> if (binding.keystrokes == 'ctrl-/') && (binding.command != 'core:undo') console.info 'discard keybinding!!', binding false else true )
true
,false
のリテラルのところがダサいですが、人生初coffeeなので見なかったことにして下さい。
console.info
をどうしても入れたかったんや…
ちなみに、atom.keymaps
やbinding.keystrokes
のようなプロパティの解説文書はどこにも無いっぽい。
むしろドキュメントを探すのが面倒だったので、毎度おなじみソースリーディングで探しました。 このへんが該当箇所。
http://github.com/atom/atom-keymap/blob/master/src/keymap-manager.coffee http://github.com/atom/atom/blob/master/src/atom.coffee
ま、個人的にはRuby系構文がキライ肌に合わないのでアレでしたが…