Atom で矩形選択するためのキーバインドを変更する (キーマップの重複を回避する)
矩形選択のための、複数行選択のキーバインドが「Ctrl + Alt + ↑↓」なのが気に入らず、「Alt + ↑↓」にしたくて、その実現までのメモ。
(「Alt + ↑↓」でやりたいのは Sakura エディタでの慣れがあったせいです…悔しい。)
キーバインドの一覧は「設定」の「キーバインド」から検索できる。
「ctrl-alt-up
」「ctrl-alt-down
」で検索すると、それぞれ「editor:add-selection-above
」「editor:add-selection-below
」ってのがヒットする。編集用のコードをクリップボードに取り込めるボタンがリストの左端に付いてるので、これをクリックしてコピー。
設定ファイルは「ファイル」→「キーマップを開く」で開ける keymap.cson
。CSON ってのは CoffeeScript Object Notation の略で、CoffeeScript 形式の JSON ってことみたい。
これに先ほどコピーしたコードを貼り付けて軽く修正し、以下のようにする。
// 矩形選択を Ctrl + Alt ではなく Alt だけでできるようにする
'body':
'alt-up': 'editor:add-selection-above'
'alt-down': 'editor:add-selection-below'
しかし効かない。
よくよく見ると、「alt-up
」「alt-down
」のキーバインドに、Emmet パッケージのキーバインド「emmet:increment-number-by-01
」「emmet:decrement-number-by-01
」が既に存在していた。
キーが重複しているようなので、このキーバインドもコードをコピって、keymap.cson
で無効にしてやる。既存のキーマップを無効にするには unset!
と書くみたい。
// 矩形選択を Ctrl + Alt ではなく Alt だけでできるようにする : Emmet のキーバインドが重複していたので unset! で無効にする
'atom-text-editor:not([mini])':
'alt-up': 'unset!'
'alt-down': 'unset!'
というわけで、keymap.cson
に加えた変更は全体で以下のようになる。
// 矩形選択を Ctrl + Alt ではなく Alt だけでできるようにする : Emmet のキーバインドが重複していたので unset! で無効にする
'atom-text-editor:not([mini])':
'alt-up': 'unset!'
'alt-down': 'unset!'
// 矩形選択を Ctrl + Alt ではなく Alt だけでできるようにする
'body':
'alt-up': 'editor:add-selection-above'
'alt-down': 'editor:add-selection-below'
これで「Alt + ↑↓」で矩形選択 (複数行選択) ができるようになった。イェ~イ。
ついでに Sublime Style Column Selection も入れた。Alt + マウスドラッグで矩形選択ができるというもの。これも良い感じ。