Next: High-Level Completion, Previous: Minibuffer Completion, Up: Completion [Contents][Index]
このセクションでは、補完のためにミニバッファーで使用されるキーマップ、コマンド、ユーザーオプションを説明します。
この変数の値は、ミニバッファー内の補完に使用される補完テーブルである。これはcompleting-read
がtry-completion
に渡す補完テーブルを含むグローバル変数である。minibuffer-complete-word
のような、ミニバッファー補完コマンドにより使用される。
この変数の値はcompleting-read
がtry-completion
に渡す述語(predicate)である。この変数は、他のミニバッファー補完関数でも使用される。
この変数はミニバッファーをexitする前に、Emacsが確認を求めるかどうかを決定する。completing-read
はこの変数をバインドして、exitする前に関数minibuffer-complete-and-exit
がこの値をチェックする。値がnil
の場合は、確認は求められない。値がconfirm
の場合、入力が有効な補完候補でなくてもユーザーはexitするかもしれないが、Emacsは確認を求めない。値がconfirm-after-completion
の場合、入力が有効な補完候補でなくてもユーザーはexitするかもしれないが、ユーザーがminibuffer-confirm-exit-commands
内の任意の補完コマンドの直後に入力を確定した場合、Emacsは確認を求める。
この変数には、completing-read
の引数require-matchがconfirm-after-completion
の場合は、ミニバッファーをexitする前にEmacsが確認を求めるようにさせるコマンドのリストが保持されている。このリストないのコマンドを呼び出した直後にユーザーがミニバッファーのexitを試みると、Emacsは確認を求める。
この関数は、ただ1つの単語からミニバッファーを補完する。たとえミニバッファーのコンテンツが1つの補完しかもたない場合でも、minibuffer-complete-word
はその単語に属さない最初の文字を超えた追加はしない。Syntax Tablesを参照のこと。
この関数は、可能な限りミニバッファーのコンテンツを補完する。
この関数はミニバッファーのコンテンツを補完して、確認が要求されない場合(たとえばminibuffer-completion-confirm
がnil
のとき)はexitする。確認が要求される場合には、このコマンドを即座に繰り返すことにより確認が行われないようにする。このコマンドは2回連続で実行された場合は確認なしで機能するようにプログラムされている。
この関数は、カレントのミニバッファーのコンテンツで利用可能な補完のリストを作成する。これはall-completions
の引数collectionに変数minibuffer-completion-table
の値を、引数predicateにminibuffer-completion-predicate
の値を使用して呼び出すことにより機能する。補完リストは、*Completions*と呼ばれるバッファーのテキストとして表示される。
この関数はstandard-output
内のストリーム(通常はバッファー)にcompletionsを表示する(ストリームについての詳細は、Read and Printを参照)。引数completionsは通常、all-completions
がリターンする補完リストそのものだが、それである必要はない。要素はシンボルか文字列で、どちらも単にプリントされる。文字列2つのリストでもよく、2つの文字列が結合されたかのようにプリントされる。この場合、1つ目の文字列は実際の補完で、2つ目の文字列は注釈の役目を負う。
この関数はminibuffer-completion-help
により呼び出される。一般的には、以下のようにwith-output-to-temp-buffer
とともに使用される。
(with-output-to-temp-buffer "*Completions*" (display-completion-list (all-completions (buffer-string) my-alist)))
この変数が非nil
の場合には、次の文字が一意でないために決定できず補完が完了しないときは常に、補完コマンドは利用可能な補完リストを自動的に表示する。
completing-read
の値は、補完の1つが完全に一致することを要求されないときにローカルキーマップとして使用される。デフォルトでは、このキーマップは以下のバインディングを作成する:
minibuffer-completion-help
minibuffer-complete-word
minibuffer-complete
親キーマップとしてminibuffer-local-map
を使用する(Definition of
minibuffer-local-mapを参照)。
completing-read
は、補完の1つの完全な一致が要求されないときのローカルキーマップとして、この値を使用する。したがってexit-minibuffer
にキーがバインドされていなければ、無条件にミニバッファーをexitする。デフォルトでは、このキーマップは以下のバインディングを作成する:
minibuffer-complete-and-exit
minibuffer-complete-and-exit
親キーマップはminibuffer-local-completion-map
を使用する。
これは単にSPCを非バインドするsparseキーマップ(sparse:
疎、希薄、まばら)を作成する。これはファイル名にスペースを含めることができるからである。関数read-file-name
は、このキーマップとminibuffer-local-completion-map
かminibuffer-local-must-match-map
のいずれかを組み合わせる。