例如,对于命令
cp src_file dst_file
如果输入src然后按TAB键,我的tcsh可以为src_file完成,但如果输入dst然后按TAB键,则不会尝试为dst_file完成。
complete cp
的输出(按@ shx2的请求):
% complete cp
complete cp 'c/--/(archive backup no-dereference force interactive link preserve parents sparse recursive symbolic-link suffix update verbose version-control one-file-system help version)/' 'c/-/(a b d f i l P p R r S s u V v x -)/' 'n/-*r/d/' 'n/{-S,--suffix}/x:<suffix>/' 'n/{-V,--version-control}/(t numbered nil existing never simple)/' 'n/-/f/' 'N/-/d/' 'p/1/f/' 'p/2/d/' 'n/*/f/'
我错过了任何设置吗?
答案 0 :(得分:1)
尝试uncomplete cp
删除默认完成。如果你非常沮丧,你甚至可以uncomplete *
: - )
完成情况来自:[{1}}来源tcsh
,在登录过程中,来源/etc/csh.cshrc
,其中,在cygwin 1.7上的tcsh 6.18.01上是1228-行文件有很多自定义完成! cp的完成不会自动完成第二个文件,并强制您键入它以防万一你不小心覆盖了现有文件。
/etc/profile.d/complete.tcsh
定义位置完成2 complete dbx 'p/2/(core)/'
为“核心”,这是位置2中dbx
调试器最常见的完成,看到“核心”出现在那里当你按TAB时非常酷。
缺点是,如果dbx
没有按照您的预期进行操作,则需要学习完整的语法。到目前为止,我设法避免学习这种语法,因为在这种情况下/etc/profile.d/complete.tcsh
对我来说很好。因人而异。 : - )
答案 1 :(得分:0)
您有complete
的自定义cp
规则,其结果是您报告为意外的行为。所以这可能是一个不好的规则。
你可以简单地禁用它:
uncomplete cp
和/或从您的点文件中删除complete cp
命令(可能是.cshrc
,或从其中删除其他点文件source
。