ウィンドウの使い方

Emacsでは、複数のファイルを編集できる。また、画面を複数に分割して使用 することができる。この複数に分けた画面をそれぞれ、ウィンドウという。ウィ ンドウは必ず1つのバッファと対応する。バッファはファイルや、ファイル以 外のものと1対1で対応する (ファイル以外のものとは、 *shell*や、*scratch*のようなものを指す). ということは、 バッファはファイルなどと1対1で対応する。これに対して、ファイルなどを画 面に表示するのは、(0を含む)任意の数のウィンドウに表示できる。

一般にファイルを読み込むと、その時カーソルのいたウィンドウ(カレントウィ ンドウという)の表示がそのファイルにかわる。このとき、後ろに隠れてしまっ たファイルを表示するためには、
    C-x b
と打つ。すると、以下のように聞いてくるので、
    Switch to buffer: (default file.c)
この default file.cのところのファイル名を編集したいならば、リター ンキーを打つ。このファイル名でなければ、ここでファイル名を打てばよい。 また、*scratch*を見たければ、ここに*scratch*[RET]と打つ。 もしも、違うディレクトリの同じファイル名のファイルを編集している場合に は、バッファ名がfile.c<2>のようになっていることがある。このよう なファイルにいきたい場合も、そのままfile.c<2>[RET]と打てばよい。 なお、この場合、保存した時などは、それぞれのディレクトリに file.cという名前で保存される。

画面を2つのウィンドウに分けるには、
    C-x 2
もしくは、
    C-x 5
とする。C-x 2は、画面を上下に2分割する。一般的に使用するのはこ れである。C-x 5は画面を左右に2分割する。これらはウィンドウが小 さくなり過ぎない限り、繰り返し実行できる。すなわち、画面を無数のウィン ドウに分けることができる。また、これらに引き数を与えると、その行数、 もしくは文字幅のウィンドウを作成する。例えば、
    ESC 1 0 C-x 2
とすれば、画面を10行のウィンドウ(モード行を含む)と、それ以外に分割する。 左右に分割する際も同じである。ただし、この場合の文字幅というのは半角文 字の文字幅であり、日本語などの表示できる文字数はこの約半分となる。

ウィンドウを移るのは
    C-x o
である。ウィンドウを移る順番は固定である。たとえば、ウィンドウを100個 開いてしまった場合、次のウィンドウに移った後、前のウィンドウに戻るには、 C-x oを99回実行しなければならない(実はESC - 1 C-x oという手もある)。それぞれのウィンドウでファイルを読み込むこと ができるし、C-x bで違うバッファを見ることができる。さらに、同じ バッファ(ファイル)を別のウィンドウで見ることも可能である。これを利用し て、同じファイルの最後の方を見ながら、最初の方を手直しすることが可能で ある。また、たとえば、起動時の*scratch*の画面を2分割して試して みればよいが、バッファの変更はリアルタイムに全ウィンドウに影響する。す なわち、あるウィンドウで文字を入れた時に、別のウィンドウでも、その文字 を入れた部分が表示されている場合、その別ウィンドウでも入力した文字が即 座に表示される。

いま使用しているウィンドウをもう必要としない場合、
    C-x 0 (ゼロ)
と打つと、そのウィンドウを閉じることができる(ファイルの編集が終ってし まうわけではない)。この場合、他のウィンドウの大きさが適当に調整される。 また、いま編集しているウィンドウだけにしたい場合は、
    C-x 1
と打つと、いま編集しているバッファが画面いっぱいのウィンドウとなる。

このように、ウィンドウ関係のコマンドはC-xと数字という組合せが多 い。これ以外に、ウィンドウの大きさを制御する方法もある。以下に表にまと めておく。これらは、引き数をとって実行すると、繰り返し実行される。負の 引き数をとることも可能である。

キー動作
C-x o別のウィンドウに移る
C-x b表示しているバッファを切替える
C-x C-bバッファの一覧表(バッファリスト)を出す
C-x 0そのウィンドウを閉じる
C-x 1そのウィンドウを画面いっぱいの大きさにする
C-x 2ウィンドウを上下に2分割する
C-x 5ウィンドウを左右に2分割する
C-x ^ウィンドウを上下に1行大きくする
C-x {ウィンドウを左右に1行小さくする
C-x }ウィンドウを左右に1行大きくする


前[繰り返し実行]  次[バッファリスト]
戻る