Emacsの使用法

ゼミ室のLinuxマシンでのEmacsの基本的な使い方を説明します。マウスを全く使用することなく各種編集作業が行えます。なお、Emacs、Mule、Meadowでも、基本的な操作は同じです。

注意事項

本文にでてくる、C-xCtrl キーを押しながら、 x を押すことを意味します。また、M-xAlt キーを押しながら x を押すか、あるいは ESC キーを押した後x を押すことを意味します。

起動と終了

Emacsはターミナルのコマンドラインから、emacsと入力しリターンを押すと起動します。終了方法は C-x C-cです。

画面の構成

Emacs起動直後の画面を下図に示します。

Emacs 起動画面

図からわかる通り、Emacsは三つの領域からなります。

  1. まず、Emacsと大きな文字が書かれた部分が、バッファの内容を表示するための領域で、ここでファイルの編集を行ないます。Emacsではディスク上にあるファイルを直接編集するのではなくて、バッファに、つまりメモリ上コピーされたファイルを編集します。したがって、保存するまでは、ディスク上のファイルは変更されません。
  2. その下の灰色のラインの部分はバッファの状態を表示するモード行です。左端から順番に見ていくことにします。
    • "U"の部分はファイルの文字コードを示しています。ここではファイルの文字コードはUnicodeとなっています。
    • "%%-"は、現在開いているバッファの変更状態をあらわしています。この部分は、ファイルが未編集の場合、"---"となります。変更すると"**-"となります。書き込みができない編集不可の状態の時は"%%-"となります。
    • "*GNU Emacs*"の"*scratch*"の部分は現在開いているバッファの名前をあらわしています。
    • "All L5"は、バッファの表示されている位置を示しています。"All"の場合、バッファは画面にすべて表示されています。パーセンテージの場合、表示されている位置が全体の何%の位置であるかをあらわしています。"Bot"の場合、バッファの末尾を表示していることになります。
    • (Fandamental IBus)はバッファのモードと文字の入力モードをあらわしています。
  3. 一番下のラインは、ユーザにメッセージを伝えるためのエコー行です。ファイルを開いたり、保存したりなど、何らかの操作をした場合、ここにその内容が表示されます。

カーソルおよび画面の移動

  • C-f:一文字進む (Forward)
  • C-b:一文字戻る (Backward)
  • C-p:一行上がる (Previous)
  • C-n:一行下がる (Next)
  • M-f:一単語進む
  • M-b:一単語戻る
  • C-a:行の先頭に移動する
  • C-e:行の末尾に移動する
  • C-v:一画面進む
  • M-v:一画面戻る
  • C-l:カーソルのある位置を画面中心にして、画面を書き直す
  • M-<:ファイルの先頭に移動
  • M->:ファイルの末尾に移動
  • M-{:段落の先頭に移動
  • M-}:段落の終わりに移動

画面分割

  • C-x 3:画面を縦に二分割
  • C-x 2:画面を横に二分割
  • C-x 1:カーソルがある画面のみを表示する
  • C-x 0:カーソルがある画面を消す
  • C-x o:分割された画面間を移動する
  • C-x ^:カーソルがある画面の高さ増加する
  • C-x {:カーソルがある画面の幅を減少する
  • C-x }:カーソルがある画面を幅を増加する

削除、挿入、コピー

  • DeleteあるいはDEL:カーソルの左にある一文字を削除する
  • C-d:カーソルのある一文字を削除する
  • M-d:一単語削除してコピーする(バッファに取り込む)
  • C-k:カーソルのあるところから行末までを削除しコピーする
  • C-y:コピーされた内容を張り付ける
  • C-SPACE:リージョン(領域)の開始位置をマークする
  • C-@C-SPACEと同じ
  • C-w:リージョンを削除し、コピーする
  • M-w:リージョンをコピーする
  • C-x r k:矩形領域を削除しコピーする
  • C-x r d:矩形領域を削除する
  • C-x r y:矩形領域を張り付ける
  • C-x r r r:矩形領域をレジスタにコピーする
  • C-x r i r:レジスタから矩形領域をコピーし張り付ける
  • C-x r o:空白の矩形領域を挿入する
  • C-x r t:矩形領域を指定した文字列で置き換える

取消(Undo)

  • C-_:編集の取消をする
  • C-x uC-_と同じだが、取消回数を数値で指定可能

ファイル入出力およびバッファ

  • C-x C-f:ファイルを開く
  • C-x C-s:ファイルを保存する
  • C-x C-w:ファイルを別名で保存する
  • C-x i:ファイルを挿入する
  • C-x C-b:バッファ一覧を表示する
  • C-x k:カレントバッファを削除する
  • C-x C-q: バッファの書き込み可/不可を切替える
  • C-x o:画面が分割されているときに、画面間を移動する

検索、置換

  • C-s:カーソルのある位置から下方向に検索する
  • C-r:カーソルのある位置から上方向に検索する
  • M-%:文字列の置換をする

繰返し

  • C-u:この操作のあとの操作の繰返す。デフォルトでは4回だが、繰返し回数を数値で指定可能

日本語入力

  • 半角/全角:日本語入力切替を行う
  • C-SPACE:VJE-Deltaの場合に、日本語入力切替を行なう
  • C-\:Wnnの場合に、日本語入力切替を行なう
  • SPACE:日本語入力時に漢字変換を行なう
  • C-p:日本語入力時に前候補を表示する
  • C-n:日本語入力時に後ろ候補を表示する
  • C-f:日本語入力時に次文節に移動する
  • C-b:日本語入力時に前文節に移動する
  • M-s:次候補一覧を表示する
  • i:日本語入力時に文節を短くする
  • o:日本語入力時に文節を長くする
  • C-^:記号入力 (emacsの場合,M-x special-symbol-input)
  • Enter:入力した日本語を確定する

脱出(Quit)

  • C-g:入力したキー操作の取り止め

こちらでEmacsの練習をしてみましょう。