フリーキーズ | 独学プログラミング

Emacsの基本操作と基本的な設定方法を紹介!チートシート付き

最終更新日
【画像】Emacsの基本操作と基本的な設定方法を紹介!チートシート付き
実行時の環境

OS macOS Ventura 13.4.1

Emacs バージョン29.1

このコンテンツでは、Emacsの基本的な使い方や設定方法を紹介します。
Emacsを使ってみようと手をつけ始めても、最初はカーソルの移動1つですら「どうやるんだろう…」とググりながら進めることになるのはストレスとなってしまいます。(自分も最初挫折しそうになりました)

はじめは慣れなくても、慣れたらほとんどマウスを使うことなくテキスト編集作業ができるようになるのでぜひ馴染むまでゴリゴリいじってみてください。きっとあなたの人生における最高の相棒になることでしょう。

Emacsチートシート

自作Emacsチートシート

自作Emacsチートシート

Emacsの基本操作

まずは通常のテキストエディタとして扱えるようになることを目標にしましょう。なんだかんだで文字の入力や保存といった基本的なことさえできれば後は慣れでどうにかなります。

Emacsの各記号の意味

C-x C-s

このように書かれている場合、Ctrlキーを押しながらxを押し、そのままCtrlキーを押しながらsを押す、という意味です。Ctrlキーは左手の小指で押すことが一般的なため、Emacs使いは左手の小指が大切とされます。

M-x

このように書かれている場合は、Metaキー(Altキー)を押しながらx、という意味です。

S-r

このように書かれている場合は、Shiftキーを押しながらr、という意味です。

s-1

このように書かれている場合は、Superキー(Macだと)を押しながら1、という意味です。

M-<

このように通常の文字と同じく、Shiftを押しながら文字入力して組み合わせるパターンもあります。(この場合はMeta + Shift + ,を同時に押すことでM-<を表現します)

Emacsの起動と終了

以下、CLI(ターミナルなど)から操作。

コマンド説明
emacs
Emacsの起動(ファイル指定なし)
emacs &
WindowsのコマンドプロンプトでEmacsの起動(ファイル指定なし)
emacs [ファイルパス]
Emacsで指定ファイルを開く
emacs [ファイルパス] &
WindowsのコマンドプロンプトでEmacsで指定ファイルを開く
emacs -nw
ターミナル内でEmacsの起動(ファイル指定なし)
No windowの略
C-x C-c
Emacsの終了

ファイル操作&バッファ操作

コマンド説明
C-x C-s
カレントバッファの保存
C-x C-w
ファイルを別名で保存
C-x C-f
ファイルを開く
C-x i
指定ファイルの内容を現在のカーソルの下に挿入

カーソル移動&検索

コマンド説明
C-f
カーソルを右に一文字移動
M-f
カーソルを右に一単語移動
C-b
カーソルを左に一文字移動
M-b
カーソルを左に一単語移動
C-p
カーソルを上に移動
C-n
カーソルを下に移動
C-a
カーソルを行先頭に移動
C-e
カーソルを行末に移動
M-<
カーソルをファイル先頭に移動
M->
カーソルをファイル末尾に移動
C-s
カーソルより後に記述のある文字列を指定文字で検索し移動
C-r
カーソルより前に記述のある文字列を指定文字で検索し移動
C-v
一画面分、前に移動
M-v
一画面分、後ろに移動

操作の取り消し&元に戻す(Undo)

コマンド説明
C-g
操作の取り消し
C-x u
元に戻す(Undo)
C-/
元に戻す(Undo)

ウィンドウ操作

コマンド説明
C-x 0
分割したウィンドウを一つに戻す(カーソルがないウィンドウが残る)
C-x 1
分割したウィンドウを一つに戻す(カーソルがあるウィンドウが残る)
C-x 2
ウィンドウを上下に分割
C-x 3
ウィンドウを左右に分割
C-x +
分割したウィンドウの幅と高さを均一にする
C-x b
開いているバッファから現在のウィンドウに表示するものを指定する
C-x 5 2
新規フレームを開く
C-x 5 o
フレームを移動
C-x 5 0
フレームを閉じる

文字の削除

コマンド説明
[Backspace]
通常と同じくカーソルの一つ前の文字を削除
C-d
カーソル位置の文字を削除
M-d
カーソル位置から右側の一つの単語(M-fで移動する範囲)を削除
M-[Backspace]
カーソル位置から左側の一つの単語(M-bで移動する範囲)を削除
C-k
カーソル位置から行末まで削除
M-k
カーソル位置から文末(まで)まで削除

範囲指定、カット、コピー&ペースト

コマンド説明
C-[Space]
カーソル位置を範囲指定の始点にする
そこからカーソルを移動すると範囲指定できる
C-@
C-[Space]と同じ
C-x h
バッファ内すべて選択
C-w
範囲指定している部分をカット(削除してクリップボードに保持)
M-w
範囲指定している部分をコピー(削除せずクリップボードに保持)
C-y
ペースト(クリップボードに保持されている内容)

コマンド実行

コマンド説明
M-x
プロンプトでコマンド名を入力する

Emacs基本設定

Emacsの設定はホームディレクトリ直下に作成される.emacs.dディレクトリで行います。
このディレクトリの中身を読み取ることによって、Emacsは独自にカスタマイズが可能となるため、Gitなどで管理しておくことが大切です。

また、.emacs.d/init.elは一番最初にEmacsの設定ファイルとしてロードされるため、ここに基本的な設定は盛り込みましょう。
独自にディレクトリ構造を作成可能なので、自分が管理しやすい方法を見つけるために積極的に設定ファイルをいじるようにしてください。

Emacs Lisp(通称elisp)というLispをベースにした独自の言語を利用しますが、最初のうちはコピペでも良いです。使い勝手が自分好みではないと思ったときにEmacs Lispを改めて学んでみようと思ったら、千葉大学理学部の松田茂樹准教授のEmacs Lispの入門サイトなどを参考に学んでみてください。

最初にするinit.elおすすめ設定

便利なキーボードショートカット

便利なエイリアス

おすすめパッケージ

実際の設定は別のコンテンツにしますが、実際に使っている便利なパッケージ一覧を紹介します。
※プログラミング言語補助系は抜いています。

ゴリゴリ設定していこう

ここまで、基本的なEmacsの使い方と設定方法を紹介してきました。紹介しておきながらアレですが、Emacsは自分で独自にカスタマイズしてなんぼです。

始めたての頃は、Emacsの設定をいじることで時間が溶けがちですが、それだけ愛着をもって一生物のエディタとして育てていける楽しみがあります。
キーボードの上で過ごす時間を快適に、自分の思い通りにしたい、と思っているエンジニアの人には本当に心からおすすめできるエディタです。

もしこれをきっかけにEmacsを使い始めたらとにかくゴリゴリに設定していきましょう。
きっとあなたのエンジニアライフがより一層素晴らしいものになるはずです。

関連するコンテンツ