便利補助ツール complete (tcsh)

tcshのプログラマブル補完
tcsh の complete コマンドでシェルの補完機能をカスタマイズできるので概要を紹介します通常シェル(bashやtcshなど)では 「第1引数は コマンドを補完」「第2引数以降は ファイルパスを補完」するのが一般的です。 tcshでは complete コマンドによりこの補完動作をカスタマイズできます。
completeコマンドの一般的な書式は以下のとおりです

complete コマンド 補完方式/パターン指定/補完リスト[:補完リストの絞り条件]/[後置文字/]

補完方式 補完を実施するための条件を指定します p(引数の位置) や n(直前の引数のパターン) などが指定可能です
パターン指定 補完方式に対する目的語です pに対しては番号や*で指定します や nに対しては文字列で指定します
補完リスト 実際に補完される候補リストを指定します (文字列 文字列 …) のように直接文字列を指定したり f(ファイルパス) d(ディレクトリパス) u(UNIXアカウント) などの指定が可能です
補完リストの絞り条件 補完リストに対して絞り条件を指定できます 例えば テキストファイルだけを候補にしたいなら *.txtといった書き方です
後置文字 補完が完了した場合に直後に置く文字列です デフォルトは 半角空白 です
complete file 'p/1/f/'
fileコマンドの第1引数にファイルパスが補完されます
complete cd 'p/1/d/'
cdコマンドの第1引数にディレクトリパスが補完されます
complete basecolor 'p/1/(red blue green)/'
basecolorと入力した次のワードが red か blue か green かの候補が補完されるようになります (basecolorというコマンドは存在しません)
complete echo 'p/1/s/'
echoコマンドの第1引数にシェル変数名が補完されます

tcshの場合 補完候補を表示するには Ctrl+D です
completeの設定を解除するには uncomplete コマンド です