次: Minibuffer History, 前: Minibuffer Edit, 上: Minibuffer
ある種の引数では、引数の値の入力に補完(completion)を利用できます。 補完とは、引数の一部分を打つと、Emacsがその残りの部分をすべて、 あるいは既存の入力部分から決定可能な限り残りの部分を補う機能です。
補完を使えるときには、<TAB>、<RET>、<SPC>の各キーは、 ミニバッファ内の既存のテキストをそれを含むより長い文字列に 補完するように再定義してあります。 補完は、引数を読み取るコマンドが用意した 補完候補群(completion alternatives)に対して 入力されたテキストとの一致をとることで行われます。 ?キーは、入力から補完可能な候補一覧を表示するように定義してあります。
たとえば、M-xがコマンド名を読み取るためにミニバッファを使っている場合、 M-xは、補完に備えて、 使用可能なすべてのEmacsコマンド名の一覧を用意します。 補完キーは、ミニバッファ内のテキストをすべてのコマンド名に照らし合わせて、 ミニバッファの既存の名前から導かれる名前の追加文字列を探し出して、 その文字列をそれまでに入力してあるテキストに付け加えます。 これにより、M-x insert-buffer <RET>と打つかわりに、 M-x ins <SPC> b <RET>と打つことが可能になるのです。
補完では、大文字小文字を区別します。 というのは、補完対象となる名前(バッファ名、ファイル名、コマンド名)の ほとんどでは、大文字小文字を区別しているからです。 したがって、`fo'を、`Foo'とは補完しません。 大文字小文字を区別しない引数に対しては、補完も両者を区別しません。