Windows版ATOMエディタでmacOS風にショートカットにするキーマップ設定

訳あって20年ぶりにWindowsをメイン環境に移行中なのですが、長年Macに慣れてきた身からすると、Windowsのショートカットが使いづらく感じてしまいます。そこで、エディタだけでもMacっぽいくしたいということで、ATOMのキーマップをMac風ショートカットにしてみたので設定をまとめました。

ATOMのキーマップの変更の仕方

現在のキーマップ設定は、「Settings(Ctrl+,)」->「Keybindings」から確認できます。

自分オリジナルの設定を追加するには、キーマップ設定画面の上部にある「your keymao file」リンクをクリックすると追加ができます。

キーマップファイル(keymap.cson)の書き方は、設定ファイルのコメントアウトに書いてありますが、下記の通りになります。

# 'atom-text-editor':
#   'enter': 'editor:newline'

最初にどの部分の設定かを宣言して、その後にキーマップと動作(および影響範囲)ををコロンでつなげればOKです。

上の例でいうと、

ATOMのテキストエディタ
  'エンターキーを押す' : 'エディタ:新しい行を追加する'

ということになります。

coreとeditorは基本的にはcoreでいいのですが、一部editorでないと動かないキーマップもあるので、そこは随時テストをしながら設定していきます。追加した設定は、設定ファイルを保存すればリアルタイムで反映されます。

動作の部分(’editor:newline’の部分)がわからないと設定ができないのですが、基本的には普通の英語っぽくなっているので、現在の設定一覧から「move」や「select」「down」などで検索すると、同じ設定があるのでそれをコピペすればOKです。

実際の設定

さて、実際にmacOSのショートカットっぽくした設定です。

自分の場合は、macOS風のキーレーアウトにしたいのでWindows Server用のキーレイアウト変更ソフトで、

  • Alt=>Ctrl
  • Super(Windowsロゴ)=>Alt
  • Ctrl=>Super(Windowsロゴ)

という形でキーレイアウトをOSレベルで変更しています。(英字キーボードです)

その前提で、macOS風のショートカットと同じ動きにしたキーマップは下記になります。

'atom-text-editor':
  'ctrl-down': 'core:move-to-bottom'
  'ctrl-up': 'core:move-to-top'
  'ctrl-right': 'editor:move-to-end-of-screen-line'
  'ctrl-left': 'editor:move-to-first-character-of-line'
  'ctrl-shift-left': 'editor:select-to-first-character-of-line'
  'ctrl-shift-right': 'editor:select-to-end-of-line'
  'ctrl-shift-down': 'core:select-to-bottom'
  'ctrl-shift-up': 'core:select-to-top'

足りない部分もありますが、個人的にmacOSで使いやすいと思っている「一気に上に(WindowsのHOMEキーと同じ)」「一気に行末に」などの動作を追加しています。

これがあると、コーディングの際などに文章の選択を一気にできるので、かなり効率があがります。


個人的にmacOSを離れられない3大理由の1つがこのキーマップ(ショートカット)だったのですが、エディタだけでもmacOS風にできれば、操作感はかなりmacOSに近づけます。

もちろん、WindowsでもHOMEやENDキーとの組み合わせで同じことはできるのですが、HOMEキーやENDキーはキーボードによって場所が違ったりするので、移動キーとコンビネーションさせるmacOSのやり方のが迷わなくて済むので好きです。

あとは、デフォルトのフォントがもっとキレイなやつになればよりいいんですけどねぇ。