Subsections

5.5 ミニバッファでの編集機能

ウィンドウ下部のエコー領域がユーザーからのキー入力を受け付ける状態になっ たとき,そこはミニバッファと呼ばれます。例えば, ファイルを読込むとき, C-x C-f を押してからファイル名を入力しますが,この入力はミニバッファ に対して行っているのです。

ミニバッファでは,同一行内のカーソル移動コマンド(C-a, C-b, C-f, C-e等) や文字の削除(<BS>),行の消去コマンド(C-k)を使って,入力して いる文字を編集することができます。加えて,次に説明する入力補完機能を利用 することができます。

5.5.1 入力補完機能

C-x C-f によるファイルの読み込みを例にとって入力補完の説明をします。 入力補完はミニバッファへの入力において一般的に利用できる機能ですので, C-x C-w でのファイル保存等でも使えます。 以下の操作を行ってください。
  1. ホームディレクトリに存在するファイルの名前を UNIX のコマンドを使っ て調べて, を確認してください。これらを満たしていなければ,ファイル名を変更 するか,不要なファイルを削除して,この条件を満たすようにしてくだ さい。なお,各ファイルの内容は何であっても構いません。

  2. C-x C-f を押し,ミニバッファが
    Find file: ~/
    となることを確認してください。

  3. これからファイル emacs_motion を読み込みますが,ミニバッファには emacs とだけタイプしてください。<ENTER>押さないでくださ い。

  4. <TAB> を押してください。ファイル名をすべてタイプしなくても,ミニ バッファの表示が
    Find file: ~/emacs_motion
    となるはずです。これが入力補完です。

    ホームディレクトリ (~) に存在するファイルのうち,ファイル 名が emacs で始まるものは emacs_motion しかありませんから,emacs を入 力した時点で,残りの文字列が何であるかは一意に決まります。<TAB> を押すと,その残りの文字列が補完されるのです。

    emacs_m などとタイプしてから <TAB> を押しても,結果は同じ です。

  5. 続いて <ENTER> を押すと,emacs_motion がバッファに読み込まれます。

  6. 次に, commands を読み込むために, C-x C-f を押してから com とタイプして <TAB> を押しましょ う。ミニバッファは
    Find file: ~/commands
    となります。 com で始まるファイルは,commands_file と commands の二つありますか ら,com だけだとどちらを読み込むのか決められません。 <TAB> は,できる限りの範囲で文字列を補完します。

  7. さらに _ をタイプして,ミニバッファを
    Find file: ~/commands_
    にしてください。commands_ で始まるファイルは commands_file だけですか ら,この時点で <TAB> を押せば,残りは完全に補完されるはずです。 実際にやってみましょう。

  8. ファイル名が補完されたら,今回は <ENTER> の代りに C-g を押してく ださい。
    C-g はコマンドの中断です。覚えていましたか?

  9. 次に C-x C-f に続き,com? と打ってください。

    ? は補完できる名前の候補を一覧表示します。どんなファイルがある のか忘れてしまった場合には,この一覧を見ながら,入力することがで きます24

  10. 読み込みの操作を中断してください。

5.5.2 まとめ:ミニバッファでの入力補完コマンド

<TAB> 補完
? 補完候補の一覧表示