2017-07-17 6 views
0

私は文書の変換のためにMakefileを使っています。
変換する文書を指定するには、2つのメイク変数でフォルダ名を指定する必要があります。
NAMEおよびDATE
/data/$(NAME)/$(DATE)tcshのaddsuffixの動作が完了

NAMEは数字と文字を含むことがあります。
DATEの形式は、YYYYMMDD_XXXXXXXXです。ここで、Xは16進数です。
これらのランダムなX文字を入力するのは面倒なので、tcshの変数NAMEDATEを完全に提案します(サイトの必須の使用)。

は、私は私に NAME変数を示唆するために、次のなってしまった: 限り、私は unset addsuffixを行うよう期待通り、この作品 '[email protected]{NAME}[email protected]:/[email protected]' \ 'C/N*/(NAME=)/'


make N[TAB] » make NAME=[TAB] » make NAME=10001.1
addsuffixが設定されている場合、カーソルは後ろの空白の後にmake NAME=になります。
completeについては、新しい単語が始まるので、NAMEのディレクトリを私に示唆しません。 NAME=に行くと、後で/が不要になるフォルダ名に追加されます。

これらの補完のためにこの動作を無効にする方法はありますか?
tcsh.org状態:

addsuffix設定した場合、それらが正確に一致している場合、ファイル名補完は、通常のファイルの最後に、ディレクトリの終わりと空間に `/」が追加されます。デフォルトで設定されます。

明らかに、他の完了のために(ユーザーが設定した)動作を保持したいと思います。

答えて

0

[接尾辞]は私が無効にしたいものです。ドキュメントから

完全 [コマンド[単語/パターン/リスト[:]/[[サフィックスを選択] /] ...]]

は、だから私は終わりますwith complete make \ '[email protected][email protected]:/data/@' \ '[email protected][email protected]`echo $COMMAND_LINE | sed -f /data/sandbox/sbulka/tmp/sed-tmp.sed | xargs ls`@' \ 'C/N*/(NAME=)//' \ 'n/NAME=/(DATE=)//'

sedはファイル内にあるので、引用符を付けても構いません。このように表示されます: s/^.*NAME=\([^ ]*\).*$/\/data\/\1/

関連する問題