Emacs でファイル編集するときに、画面を分割して2窓で操作すると効率よく操作できる。ここでは、快適に操作できるようによく使うコマンドをまとめた。マルチウィンドウで快適Emacsライフを。
目次
1. 画面分割コマンド
「Ctrl = control キー」である。
Ctrl + x 1 | 1画面に戻す |
Ctrl + x 2 | 縦に2分割 |
Ctrl + x 3 | 横に2分割 |
縦分割:
- 横に長いテキストファイルを見ながら操作する時
横分割:
- ファイルを見ながらプログラムを書いたりするとき
- ファイルを見比べたりするとき
1画面:
- プログラムを書いたりするとき
- ファイルを大きな範囲で見たいとき
2. シェル操作
Meta キー(M)は Option(⌥)キーなどである。キー設定は以下の通り。
[ターミナル] → [環境設定] → [キーボード] で設定可能。

M + x で 「shell」とタイプ | Emacs内 でシェルを起動させる |
M + p | 1つ前のコマンドを表示 |
2.1 複数のシェルを開く方法
デフォルトの名前が「*shell*」なのでシェルの名前を変更する必要がある。
- Ctrl + x で rename-buffer とタイプして任意の名前にする。
- Ctrl + x で shell と入力(新しいシェルを作る)
3. Bufferに関する操作
Ctrl + x o | Buffer(ウィンドウ)間を移動 |
Ctrl + x Ctrl + f でファイルパスの指定 | ファイルを読み込む |
Ctrl + x i でファイルパスの指定 | ファイルを挿入する(Insert) |
Ctrl + x k | ファイル(buffer)を閉じる(Kill) |
Ctrl + x s | ファイルを閉じずに保存する(Save) |
Ctrl + x Ctrl + c で y を入力 | Emacs を保存して閉じる |
Ctrl + x Ctrl + c で n を入力 | Emacs を保存せずに閉じる |
Ctrl + s で 「検索したい文字」を入力 | buffer 内の文字検索(search) |
Ctrl + r で「検索したい文字」を入力 | buffer 内の文字検索(search backward) |
Ctrl + x Ctrl + b | buffer一覧表示(開いているファイルを確認) |
Ctrl+x b | 直前のbufferに戻る |
Ctrl + g Ctrl + g | 操作をキャンセル |
【検索】
- Ctrl+s をタイプするごとに次の文字へ行く
- Ctrl+r をタイプするごとに前の文字へ行く
- Ctrl+r と Ctrl+s は同時に実行できる
【Buffer表示系】
- 3つ以上(複数)開いているときに便利。何を開いているか確認できる。
「直前のBufferに戻る」の例:1窓でプログラムを書いているとき、ファイルを開くとプログラムは隠れる。そのときに、プログラムを再度見たいときに使用
【Ctrl + g Ctrl + g】
- コマンドを間違えた時などに使用
- とにかく Quit することで落ち着く
3. 文字列の置換操作
M + x replace-string | ファイル内の特定の文字を別の文字で置換する |
【ファイル全体における文字の置換】
- M + Shift + < でページの一番上に移動
- M + x で replace-string
- 置換前の文字 → Enter → 置換後の文字 → Enter
【特定の範囲の文字の置換】
- Ctrl + Spaceキー で範囲指定(Mark set)
- M + x で replace-string
- 置換前の文字 → Enter → 置換後の文字 → Enter
4. Emacs を一時的に閉じる(Ctrl + z)
頭の $ はコマンドラインでの操作を表す(Unixコマンド)。
Ctrl + z | 一時的に emacs をストップ |
$ fg | ストップした emacs を再開 |
$ fg %1 | ストップした 1番目の emacs を再開 |
$ fg %2 | ストップした 2番目の emacs を再開 |
$ fg %n | ストップした n番目の emacs を再開 |
$ kill -KILL %1 | ストップした 1番目の emacs を(保存せず)終了 |
$ kill -KILL %2 | ストップした 2番目の emacs を(保存せず)終了 |
$ kill -KILL %n | ストップした n番目の emacs を(保存せず)終了 |
$ jobs | 中断している buffer の一覧を表示 |
Ctrl + z の後:
[1]+ Stopped emacs
は中断しているemacs が 1個なので コマンドラインで fg を実行
[2]+ Stopped emacs
は中断しているemacs が 2個ある状態:
- fg は一番最後に中断した [2] が再開される
- fg %1 で [1] が再開される
- fg %2 で [2] が再開される(fgと同じ)
5. Bufferの印刷(プログラムの印刷)
現在のバッファを印刷する(紙で印刷して勉強する方のため)
M + x ps-print-buffer | 現在のバッファを印刷 |
色付きで印刷するなどしたい場合は以下を参考にされたい。
参考:http://tam5917.hatenablog.com/entry/20120914/1347600433
6. まとめ
他にコマンドがあれば随時追加していく。よく使うものに関してはキーバインドを設定すると良い。