Emacs のバッファーはテキストやエディタ状態を保持し、ウィンドウはバッファーを表示します。バッファーは見えない状態でも存在でき、複数のウィンドウに 1 つのバッファーを表示することもできます。一方を管理しても、もう一方が自動的に管理されるわけではありません。
高度なテキスト操作 · レッスン 11
Emacs バッファ操作
Emacs のバッファーを切り替えて破棄し、表示ウィンドウを分割、選択、閉じる方法を学びます。
バッファーを切り替える
switch-to-buffer を実行する C-x b でバッファー名を選び、現在のウィンドウに表示します。
C-x b
ミニバッファーでは既存の名前を補完できます。新しい名前を入力すると、その名前を持つファイル以外のバッファーを作成できますが、ファイルのパス名を開く操作ではありません。
既定では、C-x Right が next-buffer、C-x Left が previous-buffer を実行し、選択中のウィンドウでバッファーを順番に切り替えます。
現在のウィンドウに表示するバッファー名の入力を求めるキーシーケンスはどれですか?
選択中のウィンドウを分割する
C-x 2 で選択中のウィンドウを上下に分割します。
C-x 2
C-x 3 で左右に分割します。
C-x 3
新しいウィンドウには、初めは同じバッファーが表示されることがよくあります。各ウィンドウで個別にバッファーを切り替えられます。
選択中の Emacs ウィンドウを左右に分割するキーシーケンスはどれですか?
ウィンドウを選択して閉じる
other-window を実行する C-x o で、次のウィンドウを選びます。
C-x o
ウィンドウの表示を削除するには次を使います。
C-x 0:選択中のウィンドウを削除するC-x 1:現在のフレーム内にあるほかのウィンドウを削除する
通常、ウィンドウを削除しても、表示していたバッファーは残ります。そのバッファーを別のウィンドウに再表示できます。
ポイントとキーボードフォーカスを別の Emacs ウィンドウへ移すキーシーケンスはどれですか?
選択中のウィンドウを残し、フレーム内のほかのウィンドウを削除するキーシーケンスはどれですか?
バッファーを破棄する
kill-buffer を実行する C-x k で、Emacs から削除するバッファーを選びます。
C-x k
既定の選択は現在のバッファーです。ファイルバッファーに未保存の変更がある場合、Emacs は破棄前に警告します。プロンプトをよく読んでください。変更済みバッファーを破棄すると、編集内容を失う可能性があります。
バッファーの破棄とウィンドウの削除は異なります。表示中のバッファーを破棄すると、Emacs は各ウィンドウに別のバッファーを表示します。一方、ウィンドウを削除しても、そのバッファーはそのまま残せます。
Emacs のバッファーを破棄するか尋ねるキーシーケンスはどれですか?
これらのコマンドは *scratch* と使い捨てのバッファーで練習してください。ファイルバッファーを破棄する前に、変更済み表示が未保存の作業を示していないか確認します。
レッスン完了
Emacs バッファ操作 を完了しました
これで、Emacs が保持するものと各ウィンドウが表示するものを管理できるようになりました。
C-x bで選択中のウィンドウのバッファーを切り替える。C-x 2で下、C-x 3で右に分割する。C-x oで別のウィンドウを選択する。C-x 0またはC-x 1でウィンドウ表示を削除する。未保存の変更を確認してから、
C-x kでバッファーを破棄する。