SFC CNS GUIDE 2004

2.1 複数ファイルの編集

Emacsで複数のファイルを扱うためには ``バッファ''という概念を知っておく必要があります. ファイルを編集するときに複数のバッファを切り替えて表示させたり, ウィンドウを上下や左右に分割して2つのバッファを扱うことによって, 作業の効率化をはかれます.

2.1.1 バッファ

ファイルをC-x C-fなどで開くとウィンドウに ファイルの内容が表示されます. ファイルが読み込まれた作業領域をバッファといいます (図2.1). Emacsは複数のバッファを同時に扱えます. すでにファイルがバッファに開かれている ときにC-x C-fで異なるファイルを開くと, 新しいバッファにそのファイルが読み込まれ, 表示されます. 以前のファイルは表示されなくなりますが, バッファとして存在しています.

複数のバッファを識別するため, 個々のバッファには``バッファ名''がつけられます. ファイルを開く際に特に指定をしない場合, バッファ名にはファイル名が指定されます. 異なるディレクトリにある同じ名前のファイルを開いた場合, バッファ名の重複を避けるため, 後から開いたバッファ名はファイル名の最後に <2>が自動的につけられ,識別できるようになっています.

図 2.1: バッファの表示
02_ReadFiles

2.1.2 バッファの切り替え -- (C-x b)

複数のバッファを編集する場合,表示バッファの切り替えを行います. 編集するバッファを切り替えるにはC-x bを入力します. するとエコーエリアに次のようなメッセージが表示されます.

Switch to buffer: (default memo.txt) _

続けて表示したいバッファ名を入力し,<ENTER>を押します. 括弧の中には初期値として, 1つ前に編集していたバッファが指定されます. ここでは`memo.txt'が入力されている ため,何も設定しないで<ENTER>を押すことで バッファを`memo.txt'の内容に切り替えられます. <TAB>を押すと今まで編集したバッファの一覧を表示できます. 表示させたいバッファ名を入力して<ENTER>を押すと, バッファを切り替えられます. C-gでキャンセルできます.

2.1.3 ウィンドウの複数表示 -- (C-x 5 2)

Emacsで,複数のウィンドウを 表示させたいときにはC-x 5 2を入力します. 2つ目のウィンドウを表示させた直後には1つ目と同じバッファが 表示されています. 片方のウィンドウで違うファイルを開くと, 2つの違うバッファを2つのウィンドウに表示できます.

増やしたウィンドウを1つ消去するには, 消去したいウィンドウにマウスカーソルを移動させて, C-x 5 0を入力します. ウィンドウを消去してもバッファは残っています.

複数のウィンドウを開いても, これらは同一のEmacsなので, 1つのウィンドウで C-x C-cを入力してEmacsを終了すると, 全部のウィンドウが閉じられます.

2.1.4 ウィンドウの分割 -- (C-x 2C-x 3)

ウィンドウを上下に分割するにはC-x 2を入力しま す(図2.2). 左右に分割する場合にはC-x 3を入力しま す(図2.3). カーソルは編集対象のバッファに表示されます. カーソルをもう一方のバッファへ移動させたいときは,C-x oを入力するか, マウスで左クリックします.

02_WindowsDevision1 ウィンドウの分割(上下)
02_WindowsDevision4 ウィンドウの分割(左右)

Emacsでヘルプなどを表示する場合やWanderlustでメールを読む場合には 自動的にウィンドウが分割されます.

2.1.5 ウィンドウの分割の解除 -- (C-x 1C-x 0)

カーソルのある 部分だけを ウィンドウ いっぱいに再表示したい場合は, C-x 1を入力します. 反対にカーソルのある 部分 を消去したいときは, C-x 0を入力 します. ウィンドウの操作に関わらず,バッファは残っています.

2.1.6 バッファの削除 -- (C-x k)

バッファを削除したいときはC-x kを入力します. エコーエリアに次のように表示されます.

Kill buffer: (default report.txt) _

続けて削除したいバッファ名を指定します. ここでは初期値として`report.txt'が入力されている ため,<ENTER>を押すだけで`report.txt'のバッファを削除できます.

2.1.7 ファイルの挿入 -- (C-x i)

現在作業中のバッファに,他のファイルの内容を挿入するにはC-x iと入力します. エコーエリアに次のように表示されます.

Insert file: /_

ここでファイル名を入力して<ENTER>を押すと,バッファの中のカーソル 位置に,指定したファイルの内容が挿入できます.

Valid CSS! Valid HTML 4.01!