Mac で使える Emacs ライクなショートカットが便利


なんと Mac では文章を書くときに Emacs ライクなキーボードショートカットを使うことができます.

Emacs は Unix/Linux 系のユーザーに使われている拡張性が特徴的なテキストエディタで, ホームポジションから手を離すことなく挿入ポイントの移動やテキストの削除などの編集作業が可能なキーバインディングを搭載しています.

個人的にこの Mac では Emacs ライクなキーボードショートカットを使うことができるということが Mac が Developer Friendly (開発者に親しみやすい) と言われる所以の一つを担っているのではないかと思っております.

またそうしたことができるのも Mac の macOS が Unix の系譜の 1 つであるということも影響していると思います.

ですがあくまで Emacs ライクですので元の Emacs と全く同じキーボードショートカットというわけではなく, 少し挙動が異なったり少し冗長だったりしますが元の Emacs キーバインディングを踏襲して Mac に合うように調整がなされているといった感じですので僕はこの Mac 独自の Emacs ライクなキーボードショートカットはとても気に入ってます.

ではさっそく Mac で使える Emacs ライクなキーボードショートを紹介させていただきます.

下の表では, 左からキーボードショートカットの説明, Emacs のキーバインディング, Mac の Emacs ライクなキーボードショートカットとスタンダードなショートカットとなっています.

移動系

挿入ポイントを Emacs macOS (Emacs) macOS 2 (スタンダード)
1 文字分左に移動 C-b control + B 左矢印
1 文字分右に移動 C-f control + F 右矢印
前の単語の末尾に移動 M-b control + option + B option + 左矢印
次の単語の先頭に移動 M-f control + option + F option + 右矢印
行頭に移動 C-a control + A command + 左矢印
行末に移動 C-e control + E command + 右矢印
上の行に移動 C-p control + P 上矢印
下の行に移動 C-n control + N 下矢印
書類の先頭に移動 M-< command + 上矢印
書類の末尾に移動 M-> command + 下矢印
1 画面分下に移動 C-v control + V
1 画面分上に移動 M-v
画面中央に移動 C-l control + L

選択系

挿入ポイントから Emacs macOS (Emacs) macOS 2 (スタンダード)
左に 1 文字分選択 C-b shift + control + B shift + 左矢印
右に 1 文字分選択 C-f shift + control + f shift + 右矢印
前の単語の先頭まで選択 M-b shift + control + option + B shift + option + 左矢印
次の単語の末尾まで選択 M-f shift + control + option + F shift + option + 右矢印
行頭まで選択 M-a shift + command + 左矢印
行末まで選択 M-e shift + control + E shift + command + 右矢印
上の行まで選択 C-p shift + control + P shift + 上矢印
下の行まで選択 C-n shift + control + N shift + 下矢印

削除系

挿入ポイントから Emacs macOS (Emacs) macOS 2 (スタンダード)
左 1 文字を削除 DEL control + H delete
右 1 文字を削除 C-d control + D fn + delete
前の単語の先頭まで削除 M-DEL option + delete
次の単語の末尾まで削除 M-d fn + option + delete
行頭まで削除 C-u 0 C-k command + delete
行末まで削除 C-k control + k

その他

動作 Emacs macOS (Emacs) macOS 2 (スタンダード)
挿入ポイントの後に改行を挿入 C-o control + O
挿入ポイント前後の文字の入れ替え C-t control + T
C-k で削除されたテキストを貼り付け C-y control + Y

このように Mac では Emacs の主要なキーバインディングを使えるようになっています.

どれも便利なので一旦慣れてしまうと矢印キーを使って挿入ポイントを移動させるのが面倒になってしまうと思われます.

少なくとも僕はこのキーバインディングを覚えてからほとんど矢印キーを使わなくなりました.

ときどき Emacs は Vim に比べて操作が冗長だと言われことがありますが, モードという概念がないからこそこのように Mac に取り入れることができたのだと思います.

Emacs は Emacsの良さ, Vim は Vim の良さがあるということに気づく 1 つのきっかけとなるのではないでしょうか.

ぜひ Mac を使われている方は, ギークな方はもちろんそうでない方も一旦覚えると便利なこと必至ですのでこの機会に少しづつ覚えてみてはどうでしょうか.