そのためには,まず,ウィンドウに表示されている cat の行を領域指定 する必要があります。領域指定したい行の行頭でマークを設定してから, カーソルを次の行の行頭まで移動すればいいですね。
さらに,適当な Emacs のコマンドを使って,指定した領域を kill-ring に入れます。消去はしないでください。 操作を誤ったら,焦らずに undo しましょう。
2. で行ったのと同じ Emacs コマンドを 使います。ミニバッファに入力する名前は,もちろん, commands_filter です。
以上でファイル commands_filter が出来上がりました。 ところで, commands というバッファはウィンドウから消えてしまいましたが, このバッファは無くなったのでしょうか?
答えは「いいえ」です。バッファ commands は,今使っている Emacs から無く なった訳ではなくて,新しく用意したバッファの陰に隠れてしまっただけです。 次に,バッファ commands の内容を再度ウィンドウに表示してみます。
Switch to buffer: (default commands_file)
と表示されるはずです。ここで (default commands) とあるのは,
「特に指定がなければcommands とします」ということなので,
そのまま <ENTER> を押します。もしも default の後に commands 以外の
文字列が現われたら,それを commands に修正してから <ENTER>
を押します27。
「デフォルト (default)」という言葉は Emacs 以外の場面でもよく使 いますので,この機会に覚えておきましょう。
commands のバッファがウィンドウに現れましたから,このバッファを引き続い て編集することも可能です。
以上の操作では,二つのバッファを同時に使って編集作業を行いましたが,三つ 以上のバッファを同時に使うこともできます。
Emacs を使っている間は,バッファ削除の操作をしなければ, *scratch* バッファは常に存在しています。 ミニバッファに入力するバッファ名は *scratch* です。 <TAB> による入力補完も利用できます。
別のウィンドウにカーソルが移動しましたが,カーソルの位置が上と下 では違いますね29。
一つのバッファを複数のウィンドウで編集しているときには,あるウィ ンドウで行ったバッファの内容変更 (文字入力) は,他のウィンドウに も反映されます。一方,カーソル位置や表示位置はウィンドウ毎に独立 ですので,一つのバッファの異なる場所を,別々のウィンドウに表示し て,それぞれで編集することができます。長い文書を扱うときに便利で す。
ここでは,実際に作業を行うことは略しますが,カーソルを上下のウィンドウに 移動することによって,各ウィンドウ内のバッファを編集することが可能です。
これまで使ってきたファイルへの保存の操作 (C-x C-s) では,保存される バッファは,カーソルが存在するウィンドウ内のもののみです。複数のウィンド ウに表示されている異なるバッファをファイルに保存するには,それぞれのウィ ンドウで C-x C-s を押す必要があります。
一回のコマンド操作で複数のバッファをファイルに保存したければ C-x s を使 います。このコマンドを実行すると,元のファイルから内容変更のあったバッファ 各々について,保存するか否かを尋ねられますので,保存する場合には y で答 えます。
では,C-x s を試してみましょう。今の場合,変更を施したバッファはないは ずですから,保存の対象となるバッファはありません。エコー領域に,その旨表 示されます。
ウィンドウを分割した状態で実行した場合には,カーソルの存在しない ウィンドウに *Buffer List* という名前のバッファ一覧が表示されます。 一つのウィンドウのみで作業していた場合には,ウィンドウが分割され て,一覧が現われます。
次は不要になったバッファを削除してみましょう。 そのためのコマンドは C-x k32です。 これを使って commands バッファを削除してみます。
Kill buffer: (default *scratch*)
と表示されます。
カーソルの存在するウィンドウに commands を表示した状態でコマンド
を実行すると,デフォルトのバッファ名が commands になりますが,
今は *scratch* になっているはずなので,commands とタイプして
から <ENTER> を押します。<TAB> による入力補完も可能です。
なお,第 3.3 節で確認したように,バッファを削除しても,ファ イルが削除されるわけではありません。ファイルを編集する必要が生じたら, C-x C-f で再度バッファに読込めばよいのです。