Emacs 超クイックリファレンス


はじめに

この超簡易版リファレンスは Emacsクイックリファレンス http://www.unixuser.org/~euske/doc/emacsref/ を元に、超初心者が最低限知っておくべきことのみを残し、若干の補足を加えたものである。


1. 基本的なこと

emacs においてはすべてはコマンド操作で行われます。 キーを押すと、そのキーに割り当てられている (これを、束縛あるいは バインドされているとも呼ぶ) コマンドが実行されます。 この割り当てを変更することにより、自分の好みのキーで emacs を操作する ことができます。(あまり使われないため) どのキーにも 割り当てられていないコマンドが沢山あって、 これらは M-x に続いてコマンド名を入力することで実行させることができます (例えば C-n にはデフォルトで next-line というコマンドが割り当てられているため、 C-n を押すのと M-x next-line と入力するのでは同じ結果になる)。 また、キー操作はコマンドの頭文字で覚えるようにすると楽です (以下に紹介するコマンドで下線が引いてあるところを参照)。 なお emacs のキー操作では、大文字小文字は区別されます。

注:Mはメタキーの意味で、多くのコンピュータではESCキーを押して離す操作(タイプすると呼ぶ)に対応している。M-xなら、ESCをタイプして、続けてxキーをタイプする。Cはコントロールキーで、押しながら次のキーを押して離す。C-nなら、コントロールキーを押しながらnキーをタイプする。


2. ファイル操作

 ・ C-x C-f (find-file)             ファイル読み込み...
 ・ C-x C-s (save-buffer)           カレントバッファを保存
 ・ C-x C-w (write-file)            カレントバッファを別名で保存...

3. カーソル移動

 ・ C-f     (forward-char)          1文字進む              (→)
 ・ C-b     (backward-char)         1文字戻る              (←)
 ・ C-n     (next-line)             次の (= next) 行へ     (↓)
 ・ C-p     (previous-line)         前の (= previous) 行へ (↑)
 ・ C-e     (end-of-line)           行末へ
 ・ C-a     (beginning-of-line)     行頭へ
 ・ C-l     (recenter)              カーソルが画面中央にくるようにする

4. カット / コピー / 削除

C-Space でマークした位置と現在のカーソル位置の間を regionと呼びます。 Emacs ではいろいろな操作を region に対して行うことができます。

注:C-SpaceはMacでは別の操作に割り当てられている場合がある(古いOSXではSpotlight検索、新しいOSXでは日本語入力モード)。その場合は、MacかEmacsのどちらかの設定を変える必要がある。C-Spaceの代わりにC-@も使えるので、C-@の使用を推奨する。

注:カットやコピーした文字を記憶しておくメモリ領域をEmacsではkill-ringと呼ぶ。

 ・ Del     (delete-backward-char)  カーソルのの文字を削除
 ・ C-d     (delete-char)           カーソルの文字を削除
 ・ C-k     (kill-line)             行のカーソル以降を削除し kill-ring へ
 ・ C-y     (yank)                  kill-ring の内容をカーソル位置にはき出す
 ・ C-Space (set-mark-command)      現在のカーソル位置をマーク
 ・ C-w     (kill-region)           region の範囲を削除して kill-ring へ
 ・ M-w     (copy-region-as-kill)   region の範囲を削除せず kill-ring へ

5. バッファ / ウインドウ操作

バッファとウインドウの概念を混同している人をよく見かけます。 まずはこの考えをしっかり頭に入れてください。

注:Emacsはウィンドウが無かった頃のエディタなので、画面を複数のバッファで切り替えたり、画面を分割して複数のバッファを表示するように作られている。何かの拍子で画面が2分割になってしまったときはこれらのキーで元に戻すとよい(例えば、C-x 1でカーソルのあるバッファのみの表示に戻せる)。

 ・ C-x b   (switch-to-buffer)      ウインドウのバッファを切り換える...
 ・ C-x C-b (list-buffers)          存在しているバッファ一覧を表示...
 ・ C-x k   (kill-buffer)           バッファそのものを消去する...
 ・ C-x 0   (delete-window)         ウインドウを消去する
 ・ C-x 1   (delete-other-windows)  ウインドウを画面いっぱいに広げる
 ・ C-x 2   (split-window-vertically) 上下に 2分割 (C-x ^ で広げる)
 ・ C-x 3   (split-window-horizontally) 左右に 2分割 (C-x { , C-x } で広げる)
 ・ C-x o   (other-window)          カーソルを次のウインドウへ移動 (時計回り)

6. 文字列検索 / 置換

正規表現による検索を覚えると、すごく便利です。 なお、検索は、カーソルを移動させるとその位置で抜けられ、C-g を押すと 最初の位置で抜けられます。
 ・ C-s     (isearch-forward)       順方向に検索...
 ・ C-r     (isearch-backward)      逆方向に検索...
 ・ M-%     (query-replace)         文字列置換... (「!」で一度に置換できる)

10. その他覚えておくと便利なコマンド

 ・ C-g     (keyboard-quit)         現在実行中の操作を中止
 ・ C-z     (suspend-emacs)         Emacs を一時停止する (アイコン化)
 ・ C-x u   (advertised-undo)       ひとつ前の操作を取り消し、元に戻す(undo)
 ・ C-x C-c (save-buffers-kill-emacs) すべてのファイルを保存し emacs を終了
 ・ M-x shell                       新しいバッファを開きシェルを起動する