next up previous contents
Next: 2.4 マークとリージョン Up: 2. ファイル, バッファの操作 Previous: 2.2 ファイルの作成,編集



2.3 マルチバッファとマルチウィンドウ


複数のEmacsを起動しなくても,ウィンドウを分割することでそれぞれのウィンドウに別々のバッファを表示できる.このように,複数のバッファを一度に表示するためにウィンドウを分割する機能をマルチウィンドウという.また,1つのウィンドウ内で複数のバッファに対して編集を行える.このように自由にバッファを切り替える機能をマルチバッファと呼ぶ.



2.3.1 マルチバッファ


マルチバッファを利用することで,カーソルをウィンドウ間で移動しながら1つのEmacsで複数のファイルの編集作業を行えるため,効率のよい編集作業が可能となる.また,編集作業を一時中断して他の作業を行った上で(例えば電子メールを読む),再び中断していた作業に戻れる.表2.2にバッファ操作に関連したキー操作を示す.



表 2.2: バッファ操作
キー操作 意味 参照ページ
C-x C-b 現在あるバッファのリストの表示 第1部 2.3.1
C-x b バッファの切り替え 第1部 2.3.1
C-x k バッファの消去 第1部 2.3.1



バッファリスト -- (C-x C-b)


Emacsのバッファの情報を表示するには,C-x C-b を入力する.ウィンドウが分割され,バッファのリストが表示される.

例として,`file1'をバッファに読み込んで編集した後, C-x C-fによって`file2'をバッファに読み込んで編集する.この場合C-x C-bを入力すると,バッファのリストは次のように表示される.なお,`*scratch*'と`*Messages*'はEmacs起動時に自動的に作成されるバッファであり,`*Buffer List*'はこのバッファのリストを指している.


 MR Buffer         Size  Mode           File
 -- ------         ----  ----           ----
 *% *Buffer List*  726   Buffer Menu
    *scratch*        0   Lisp Interaction
 *  *Messages*	    1004  Fundamental	
 *  file1          123   Fundamental    /home/t00000tf/file1
.   file2          456   Fundamental    /home/t00000tf/file2

それぞれのフィールドは次のような意味がある.

MR : Modified/Read Onlyの情報
* --  バッファの内容が変更後保存されていない
% --  バッファの内容は変更できない
. --  現在ウィンドウに表示されているバッファ
Buffer : バッファ名
Size : バッファサイズ(単位 : バイト)
Mode : モード
File : ファイルパス( C-x C-sで保存されるファイル)


この例では,`file1'はバッファに読み込まれた後に編集が行われたが,まだ保存はされていないことや,現在ウィンドウに表示されているのは`file2'であることがわかる.


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

バッファにファイルを読み込んだ後,別のファイルをバッファに読み込んだ場合,新しく作成されたバッファが表示され,最初作成されたバッファはその背後に隠れてウィンドウに表示されなくなる.

表示するバッファを変えるときはC-x bと入力する.すると,エコーエリアに次のようなメッセージが表示され,カーソルがエコーエリアに移動する.

Switch to buffer: (default *scratch*) _
ここで表示したいバッファ名を入力し,<RET> を押すと表示されるバッファが切り替わる.何も入力せずに<RET> を押すと,`default'に表示されているバッファ(この例では`*scratch*')に切り替わる.また,<TAB> を押すことで,表示可能なバッファの一覧を表示できる.


バッファの消去 -- (C-x k)

必要の無いバッファは,C-x kによって消去できる.バッファ消去の動作はバッファの切り替えと同じく,C-x k と入力すると,エコーエリアに次のようなメッセージが表示され,カーソルがエコーエリアに移動する.

Kill buffer: (default *scratch*) _
消去したいバッファ名を入力し,<RET> を押すことによって,バッファを消去できる.この場合も,何も入力せずに<RET> を押すと`default'に表示されているバッファ(この例では*scratch*)が消去される.消去しようとしたバッファが編集作業後ファイルに保存されていない場合は,削除してよいか確認される.


2.3.2 マルチウィンドウ


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

EmacsのウィンドウはC-x 2によって上下2つに,C-x3によって左右2つに分割でき,C-x 5 2によって別ウィンドウを作成できる.それぞれのウィンドウには異なるバッファを表示できる(図2.4),(図2.5). 編集操作は,カーソルのあるウィンドウに対して行う.ウィンドウ間でのカーソル移動は,C-x oを入力することによって行う.それぞれのウィンドウで別のバッファを指定することにより,2つのバッファを同時に編集できる.表2.3にウィンドウ操作に関連したキー操作を示す.


表 2.3: ウィンドウ操作
キー操作 意味 参照ページ
C-x 2 ウィンドウを上下の2つに分ける 第1部 2.3.2
C-x 3 ウィンドウを左右の2つに分ける 第1部 2.3.2
C-x 5 2 新しくウィンドウを開く 第1部 2.3.2
C-x o ウィンドウを切り替える 第1部 2.3.2




図 2.4: ウィンドウの分割(上下)







図 2.5: ウィンドウの分割(左右)







next up previous contents
Next: 2.4 マークとリージョン Up: 2. ファイル, バッファの操作 Previous: 2.2 ファイルの作成,編集