#atom.ioでキーマクロを設定する方法。
たとえば、
- キーストローク1回でカーソルを3行上げたいとか
- キーストローク1回でカーソルを3行下げたいとか
- キーストローク1回でカーソルを右下に移動させたい
- なんとかかんとか
みたいな時です。
触るべきファイルは2つあります。
-
~/.atom/init.cson
処理内容を記述します。 -
~/.atom/keymap.cson
処理とキー入力を結びつけます。
設定例
~/.atom/init.cson
#このファイルにマクロ関数?を定義します。
# カーソルを3行上に移動
atom.commands.add 'atom-text-editor', 'custom:move-up', ->
editor = atom.workspace.getActiveTextEditor()
editor.moveUp(3)
# カーソルを3行下に移動
atom.commands.add 'atom-text-editor', 'custom:move-down', ->
editor = atom.workspace.getActiveTextEditor()
editor.moveDown(3)
# カーソルを右下に移動
atom.commands.add 'atom-text-editor', 'custom:move-rightdown', ->
editor = atom.workspace.getActiveTextEditor()
editor.moveDown(1)
editor.moveRight(1)
# なんとかかんとか
~/.atom/keymap.cson
#このファイルでキーストロークとマクロ関数?を結びつけます。
# ctrl+pで3行上に移動。
# ctrl+nで3行下に移動。
# ctrl+kで右下に移動。
'atom-text-editor':
'ctrl-p': 'custom:move-up'
'ctrl-n': 'custom:move-down'
'ctrl-k': 'custom:move-rightdown'
# なんとかかんとか
アンチパターン
やっちゃダメな例です。
~/.atom/keymap.cson
# この例はダメな例です。
# 同じセクション?は上書きされてしまうので1つにまとめないといけない。
# ctrl+pで3行上に移動。
# ctrl+nで3行下に移動。
'atom-text-editor':
'ctrl-p': 'custom:move-up'
'ctrl-n': 'custom:move-down'
# ctrl+kで右下に移動。
'atom-text-editor':
'ctrl-k': 'custom:move-rightdown'
# この例では、ctrl-k だけが有効になり、 ctrl-p と ctrl-n は無かったことになってしまいます。
# この例はダメな例です。
参考