いまさらながらEmacsのデフォルトのキー操作について、日本語キーボードレイアウト上で可視化してみた。
先人の知恵(配置)を考慮しながら、自分好みのキー操作にカスタマイズしていきたい。

fundamental-modeのCtrlキーとの組み合わせ

設定ファイルを使用せず、一番素のメジャーモードであろうfundamental-modeでCtrlキーとの組み合わせでどんなfunctionが呼ばれるか図にしてみる。

ホームポジションから押しやすいキーとしてはC-;、C-,、C-.などが空いている。
それぞれのキーに割り当てられているものを関数名とともにおさらいする。

赤系 カーソル移動(小)

キー操作 関数 機能
C-f forward-char カーソルを右に1つ移動
C-b backword-char カーソルを左に1つ移動
C-p previous-line カーソルを上に1つ移動
C-n next-line カーソルを下に1つ移動

青系 カーソル移動(大)

キー操作 関数 機能
C-a move-beginning-of-lineforward-char カーソルを行の先頭に移動
C-e move-end-of-line カーソルを行の最後に移動
C-v scroll-up-command カーソルを約1画面分下に移動

オレンジ系 取り消し)

キー操作 関数 機能
C-g keyboard-quit 途中の操作を取り消す
C-/ undo 完了した操作の取り消し

緑系 削除・選択・コピペ

キー操作 関数 機能
C-d delete-char カーソルの位置の文字を1文字消す。
C-SPACE, または C-@ set-mark-command カーソルの位置を選択開始位置にセット。
C-k kill-line カーソル位置から行末まで削除(カット)
C-w kill-region 選択範囲を削除(カット)
C-y yank カットしたものをペースト
C-backspace backward-kill-word カーソル位置から前の単語を削除(カット)

紫系 検索

キー操作 関数 機能
C-s isearch-forward 下方向に検索
C-r isearch-backward 上方向に検索

ピンク系 連続

単体では何も機能せず、入力後のキーで様々な操作ができるようになっている。

キー操作 関数 機能
C-x ファイル操作やバッファ操作
C-c モードによって様々
C-h ヘルプ機能

例えばファイルを開くのはC-x C-f、ファイルを保存するのはC-x C-sなど。

黄色系 代替キー

Emacsで割り当てられているわけではなくASCIIコードの都合でTABやRET、ESCとして認識される。

その他のキー

キー操作 関数 機能
C-¥ または C-\ toggle-input-method Emacs内蔵の文字入力切り替え(日本語など)
C-l recenter-top-bottom カーソルがある位置が真ん中(上部、下部)になるようにスクロール
C-q quoted-insert 次のキーをそのまま文字として入力する
C-t transpose-chars カーソルがある文字と、その前の文字を入れ替える
C-u universal-argument 関数に数字などの引数を与えるために使う
C-o open-line 改行するがカーソルは動かさない
C-j electric-newline-and-maybe-indent 改行して必要に応じて自動インデントする
C-] abort-recursive-edit 再起編集状態から抜ける(通常はC-gで十分)
C-z suspend-frame 作業中断してOSやシェルに制御を戻す
C-1 … 0 digit-argument 数字を引数にして関数に与えるときに利用(C-uでも可能)
C– negative-argument マイナスを引数にして関数に与えるときに利用(C-uでも可能)

例えば置換コマンド(query-replace)で特定の文字をタブに置換したい場合、置換後の文字列を入力する際にC-q TABを使用する。
また、改行に置換したい場合は置換後の文字列を入力する際にC-q C-jを入力する。

確認環境

Ubuntu 24.04
Emacs 30.2