tcsh での補間設定

[戻る]

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