tcsh において例えば cd コマンドで TAB 補間を行おうとするとき ディレクトリ名と先頭が同じファイル名があると、うまくいきません。 cd コマンドなんだから対象はディレクトリに決まってます。 そんな時便利なのが complete 機能です。 .cshrc に "complete cd 'n/*/d/'" と書くとディレクトリだけが 選ばれます。
complete 機能は cd だけでなく、任意のコマンドでそのコマンドに対して 補間する対象を選ぶことができます。 TeX 使いなら .cshrc に以下のように書くと幸せになれるはずです。
if ($shell == /bin/tcsh) then complete emacs 'n/*/f:^*.{aux,dvi,log,obj,toc}/' complete tgif 'n/*/f:*.obj/' complete xdvi 'n/*/f:*.dvi/' complete platex 'n/*/f:*.tex/' complete cd 'n/*/d/' endif |