4.1 ファイル名を楽に指定する方法
emacs やシェルには,ファイル名などを入力するとき,最初の何文字かを入れると,それに当てはまる名前を探してくれる機能があります.これを補完(completion)と呼びます.
emacsでの補完
ミニバッファでファイル名や機能名を入力している途中で次のキーを押すと,補完が起きます.
- TAB : 入力された文字に続けて,一意的に決まる範囲で文字を補います.複数の可能性がある場合は,その一覧を表示します.
- Spaceキー : TAB と同じですが,単語単位でしか補いません.もう一度 Spaceキー を押すと次の単語を補完します.
- ? : すべての可能性の一覧を表示します.

例えば, /pub/sfc/ipl/1a/exercise/islands/island_b/port_b/treasure を 編集したいとします.
- C-x C-f または [Files]→[Open File...] で,ファイル名を指定する状態にします.
- /pub/sfc/ipl/1a/ex + Spaceキー と入力します.すると,補完が起きて,次のようになります.
Find file: /pub/sfc/ipl/1a/exercise/
- 続いて i + Spaceキー と押します.すると,次のようになります.
Find file: /pub/sfc/ipl/1a/exercise/islands/
- 再び i + Spaceキー と押します.すると,次のようになります.
Find file: /pub/sfc/ipl/1a/exercise/islands/island-
このディレクトリには island-a,island-b, island-c があるので,一意的に決まる部分だけが補完されます. - もう一度 Spaceキー を押します.すると,新しいバッファに island- で始まるファイル名の一覧が表示されます.
- b を入力するか,あるいは一覧の中の island-b のところをマウスの中ボタンでクリックします.
- 同様にして先に進みます.

シェルでの補完
コマンド名やファイル名を入力している途中で次のキーを押すと,補完が起きます.
- TAB : 入力された文字に続けて,一意的に決まる範囲で文字を補います.複数の可能性がある場合は,ベルを鳴らします.
- C-d : 複数の可能性がある場合に,一覧を表示します.
