EMACS クイックリファレンス
ナビゲーション、編集、バッファ、検索、Org モード、パッケージ
ナビゲーション
カーソル移動
| C-f / C-b | 1文字前 / 後ろに移動 |
| M-f / M-b | 1単語前 / 後ろに移動 |
| C-n / C-p | 次の行 / 前の行 |
| C-a / C-e | 行頭 / 行末 |
| M-a / M-e | 文の先頭 / 末尾 |
| C-v / M-v | 1ページ下 / 上にスクロール |
| M-< / M-> | バッファの先頭 / 末尾 |
| M-g g | 行番号にジャンプ |
画面の位置調整
| C-l | 画面を再センタリング(上/中/下をサイクル) |
| C-M-l | ウィンドウを自動的に再配置 |
編集
Kill とヤンク(切り取りと貼り付け)
| C-k | 行末まで Kill |
| C-w | リージョンを Kill(切り取り) |
| M-w | リージョンをコピー |
| C-y | ヤンク(貼り付け) |
| M-y | ヤンク後に Kill リングをサイクル |
| C-d | 前の文字を削除 |
| M-d | 前方の単語を Kill |
| M-DEL | 後方の単語を Kill |
アンドゥとトランスポーズ
| C-/ または C-_ | アンドゥ |
| C-g C-/ | リドゥ(アンドゥのアンドゥ) |
| C-t | 文字を入れ替え |
| M-t | 単語を入れ替え |
| C-x C-t | 行を入れ替え |
選択
| C-SPC | マークを設定(選択開始) |
| C-x h | バッファ全体を選択 |
| M-h | 段落を選択 |
| C-x C-x | ポイントとマークを交換 |
バッファとウィンドウ
バッファ
| C-x b | バッファを切り替え |
| C-x C-b | すべてのバッファを一覧表示 |
| C-x k | バッファを Kill(閉じる) |
| C-x LEFT / RIGHT | 前 / 次のバッファ |
ウィンドウ
| C-x 2 | ウィンドウを水平分割 |
| C-x 3 | ウィンドウを垂直分割 |
| C-x 0 | 現在のウィンドウを閉じる |
| C-x 1 | 他のすべてのウィンドウを閉じる |
| C-x o | 別のウィンドウに切り替え |
| C-x ^ | ウィンドウを垂直方向に拡大 |
| C-x { | ウィンドウを水平方向に縮小 |
フレーム
| C-x 5 2 | 新しいフレームを作成 |
| C-x 5 0 | 現在のフレームを削除 |
| C-x 5 o | 別のフレームに切り替え |
検索と置換
インクリメンタル検索
| C-s | 前方検索(インクリメンタル) |
| C-r | 後方検索(インクリメンタル) |
| C-s C-s | 最後の検索を前方に繰り返す |
| C-M-s | 正規表現前方検索 |
| C-M-r | 正規表現後方検索 |
| RET | 現在位置で検索を終了 |
| C-g | 検索をキャンセルして開始位置に戻る |
置換
| M-% | クエリ置換 |
| C-M-% | 正規表現クエリ置換 |
| y | この一致を置換 |
| n | この一致をスキップ |
| ! | 残りをすべて置換 |
| q | 置換を終了 |
ファイル
ファイル操作
| C-x C-f | ファイルを開く |
| C-x C-s | 現在のバッファを保存 |
| C-x C-w | 名前を付けて保存 |
| C-x s | 変更されたすべてのバッファを保存 |
| C-x C-r | 読み取り専用でファイルを開く |
| C-x i | ポイントにファイル内容を挿入 |
Dired(ディレクトリエディタ)
| C-x d | Dired でディレクトリを開く |
| d / x | 削除フラグ / 削除を実行 |
| R | ファイルの名前変更 / 移動 |
| C | ファイルのコピー |
| + | ディレクトリを作成 |
| g | 一覧を更新 |
モード
メジャーモード
| M-x fundamental-mode | プレーンテキスト編集 |
| M-x text-mode | 塗りつぶしとスペルのあるテキスト |
| M-x prog-mode | プログラミングモードのベース |
| M-x python-mode | Python の編集とインデント |
| M-x shell-mode | バッファ内の対話型シェル |
便利なマイナーモード
| M-x display-line-numbers-mode | 行番号の表示を切り替え |
| M-x auto-fill-mode | fill カラムで自動折り返し |
| M-x flyspell-mode | リアルタイムスペルチェック |
| M-x column-number-mode | モードラインにカラムを表示 |
| M-x whitespace-mode | 空白を可視化 |
| M-x electric-pair-mode | 括弧と引用符を自動で閉じる |
Org モードの基本
構造
| * / ** / *** | 見出しレベル 1 / 2 / 3 |
| TAB | 見出しの表示をサイクル |
| S-TAB | グローバルの表示をサイクル |
| M-RET | 同じレベルの見出しを挿入 |
| M-LEFT / M-RIGHT | 見出しを昇格 / 降格 |
| M-UP / M-DOWN | サブツリーを上 / 下に移動 |
TODO とチェックボックス
| C-c C-t | TODO 状態をサイクル |
| C-c C-d | 期限を設定 |
| C-c C-s | 項目をスケジュール |
| C-c C-c | チェックボックス [ ] / [X] を切り替え |
| C-c a | アジェンダビューを開く |
リンクとエクスポート
| C-c C-l | リンクを挿入 / 編集 |
| C-c C-o | ポイントのリンクを開く |
| C-c C-e | エクスポートディスパッチャ(HTML、PDF など) |
パッケージ管理
package.el
| M-x list-packages | 利用可能なパッケージを参照 |
| i / d / x | インストール / 削除 / 実行のマーク |
| U | アップグレード可能なすべてをマーク |
| M-x package-refresh-contents | パッケージリストを更新 |
use-package (init.el)
(use-package magit
:ensure t
:bind ("C-x g" . magit-status))
(use-package company
:ensure t
:hook (prog-mode . company-mode))
設定
主要な設定ファイル
| ~/.emacs.d/init.el | メイン設定ファイル |
| ~/.emacs.d/early-init.el | 早期初期化(GUI の前、Emacs 27+) |
| ~/.emacs.d/custom.el | Customize で書かれた設定 |
一般的な設定
(setq inhibit-startup-screen t)
(tool-bar-mode -1)
(set-face-attribute 'default nil :height 120)
(global-display-line-numbers-mode 1)
(setq make-backup-files nil)
ヘルプシステム
| C-h k | キーバインドを説明 |
| C-h f | 関数を説明 |
| C-h v | 変数を説明 |
| C-h m | 現在のモードを説明 |
| C-h t | Emacs チュートリアルを開く |
| C-h i | Info ドキュメントを開く |
よくあるパターン
矩形編集
| C-x SPC | 矩形マークモードを開始 |
| C-x r k | 矩形を Kill |
| C-x r y | 矩形をヤンク |
| C-x r t | 矩形を文字列で置換 |
| C-x r o | 空白矩形を挿入 |
マクロ
| C-x ( | マクロの記録を開始 |
| C-x ) | マクロの記録を停止 |
| C-x e | 最後のマクロを実行 |
| C-u 10 C-x e | マクロを 10 回実行 |
| M-x name-last-kbd-macro | マクロに名前を付けて再利用 |
シェルと評価
| M-x shell | バッファでシェルを開く |
| M-x eshell | Emacs Lisp シェル |
| M-! | シェルコマンドを実行 |
| M-x eval-buffer | バッファ全体を Elisp として評価 |
| C-x C-e | ポイント直前の Elisp 式を評価 |