日本語・日本語文化学類2班,1996年10月21日
電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります(1行で打つこと)。
http://www.hlla.is.tsukuba.ac.jp/~yas/classes/ipe/nitiniti2-enshu-1996/1996-10-21/
unix-completion.html
http://www.hlla.is.tsukuba.ac.jp/~yas/classes/ipe
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/~yshinjo
補完(completion)とは、ファイル名や機能名の一部を与えただけで、残りの部 分を人間の代りにプログラムが自動的に補ってくれることです。 補完機能を持っているプログラムには、次のようなものがあります。
ng (emacs) では、いろいろな場所で補完機能を使うことができます。
たとえば、C-x C-f (find-file
)で試して見ます。
C-x C-f と打つと、ファイル名を打ち込んで、リターンを打つと、
そのファイルを編集することができます。ここでは、ファイル名を全部手で打
つのではなく、補完機能を使って打ち込むことをしてみます。
ここでは、~/News/ipe.question.nitini-2
というファイルを探す
(find-file)してみることにします。
まず、ホーム・ディレクトリで引数を与えないで ng を実行します。
C-x C-f と打ちます。すると、一番下の行が次のようになります。% cd% ng
![]()
ここで、まず N と一文字だけ打ってみます。Find file:![]()
次に、スペース・キーを打ちます。すると、次のように残りのFind file: N![]()
es
を補ってくれます。
次に、またスペース・キーを打ちます。今度は、ファイルの一覧を表示してく れます。Find file: News/![]()
このように、スペース・キーを打った時に複数の補完候補があった場合には、 候補のリストを表示してくれます。ここで、iと打ってスペース・キー を打つと、1単語だけ補完してくれます。---------------------------------------------------------------------- Possible completions are: ipe.question.nitini-2 ----Ng: *Completions* (EEE:fundamental)------------------- Find file: News/----------------------------------------------------------------------
さらにスペース・キーを打つたびに、どんどん補完してくれます。Find file: News/ipe.![]()
最後まで補完された場合には、スペース・キーを打っても変化しなくなります。Find file: News/ipe.question.![]()
結果として、このように長いファイル名も、わずかに N, i, スペース・キーだけで指定できます。Find file: News/ipe.question.nitini-2![]()
C-x C-fでは、スペース・キーの代りに、タブ・ キー(TAB)でも補完が行われます。タブ・キーの場合、1 単語1単語ではなく、補完できる所があれば最後まで補完します。
C-x C-fでは、新しいファイルを作ることもできます。存在しないファ イル名を指定すると、新しいファイルを作るということになります。ここでも 補完機能を使って、既にあるファイルの名前の、前半部分は同じで、後半部分 が違う時にも、前半は補完で打ち、後半は補完を使わないで打つという方法が 使えます。
find-file
)で、~/www/index.html
というファイルを編集するには、どうすればいいか。
mnews でも、記事を、既に存在するファイルに追加(アペンド)して保存する 時に補完機能を使うことができます。但し、複数の候補がある時には、スペー ス・キーを押す度に候補が入れ替わります。
コマンドモードで「%
」と表示して、コマンド名が打ち込まれ
るのを待っているプログラムは、csh (C Shell) というプログラムです。csh
にも補完機能があります。それを使うには、まず、次のような呪文を唱えます。
これで、補完が使える状態になります。補完を行わせるには、スペース・キー ではなく、ESCキーを使います。補完の候補を表示させるには、普通 は、^D (control-D)です。(まれに、^Dではなく、別のキー に割り当てられていることもあります。)% set filec%
![]()