ナビゲーション
カーソル移動
C-f / C-b1文字前 / 後ろに移動
M-f / M-b1単語前 / 後ろに移動
C-n / C-p次の行 / 前の行
C-a / C-e行頭 / 行末
M-a / M-e文の先頭 / 末尾
C-v / M-v1ページ下 / 上にスクロール
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 dDired でディレクトリを開く
d / x削除フラグ / 削除を実行
Rファイルの名前変更 / 移動
Cファイルのコピー
+ディレクトリを作成
g一覧を更新
モード
メジャーモード
M-x fundamental-modeプレーンテキスト編集
M-x text-mode塗りつぶしとスペルのあるテキスト
M-x prog-modeプログラミングモードのベース
M-x python-modePython の編集とインデント
M-x shell-modeバッファ内の対話型シェル
便利なマイナーモード
M-x display-line-numbers-mode行番号の表示を切り替え
M-x auto-fill-modefill カラムで自動折り返し
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-tTODO 状態をサイクル
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.elCustomize で書かれた設定
一般的な設定
(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 tEmacs チュートリアルを開く
C-h iInfo ドキュメントを開く
よくあるパターン
矩形編集
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 eshellEmacs Lisp シェル
M-!シェルコマンドを実行
M-x eval-bufferバッファ全体を Elisp として評価
C-x C-eポイント直前の Elisp 式を評価