Previous: , Up: Minibuffer   [Contents][Index]


8.8 Yes or No プロンプト

Emacsのコマンドが実行の過程で、yes-or-no(はい/いいえ)形式で質問して答えを求めるかもしれません。これらの質問は大きく2つにわけることができます。

1番目のyes-or-no形式の質問は、‘(y or n)’で終わるプロンプトのものです。このような質問は、実際のところミニバッファーを使用しません。プロンプトがエコーエリアに表示され、答えを‘y’または‘n’で入力すると、ただちにそれが答えとなります。たとえばバッファーの保存でC-x C-w (write-file)を入力して既存のファイル名を入力すると、Emacsは以下のようなプロンプトを表示します:

File ‘foo.el’ exists; overwrite? (y or n)

この質問はミニバッファーを使用しないので、通常のミニバッファー編集コマンドは使えません。しかしいくつかのウィンドウをスクロールする操作は行えます。C-lによる選択されたウィンドウの再センタリング、C-v(またはPageDownnext)による前方へのスクロール、M-v(またはPageUpprior)による後方へのスクロール、C-M-vによる次のウィンドウの前方へのスクロール、C-M-S-vによる次のウィンドウの後方へのスクロールができます。C-gは質問を打ちきり、質問を発したコマンドを終了します(Quittingを参照してください)。

2番目のyes-or-no形式の質問は、間違った答えが深刻な事態を招くような場合に使用されます。これはミニバッファーを使い、‘(yes or no)’で終わるプロンプトという特徴があります。たとえば変更が保存されていないファイルをvisitしているバッファーで、C-x k (kill-buffer)を呼び出すと、Emacsはミニバッファーをアクティブにして以下のようなプロンプトを表示します:

Buffer foo.el modified; kill anyway? (yes or no)

これに答えるには、ミニバッファーに‘yes’または‘no’と入力してから、RETを押さなければなりません。ミニバッファーは前のセクションで説明したように動作します。C-x oによる他のウィンドウへのスイッチ、ヒストリーコマンドのM-pM-nなどが使用できます。C-gでミニバッファーを閉じて、質問を発したコマンドを終了できます。