つい先ほど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系構文がキライ肌に合わないのでアレでしたが…