首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tcsh自动完成第二个参数

tcsh自动完成第二个参数
EN

Stack Overflow用户
提问于 2014-03-21 16:49:45
回答 2查看 1.1K关注 0票数 1

例如,对于命令

代码语言:javascript
复制
cp src_file dst_file

如果我输入src然后按TAB,我的tcsh可以在src_file上完成,但是如果我输入dst然后按TAB,它不会尝试在dst_file上完成。

complete cp的输出(根据@shx2的请求):

代码语言:javascript
复制
% 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/' 

有没有我错过的设置?

EN

回答 2

Stack Overflow用户

发布于 2014-04-16 12:17:21

尝试使用uncomplete cp删除默认完成。如果你非常沮丧,你甚至可以做uncomplete * :-)

完成来自:登录期间的tcsh/etc/csh.cshrc,这反过来又是/etc/profile.d/complete.tcsh的源,在Cygwin1.7上的tcsh6.18.01上,它是一个1228行的文件,包含许多自定义完成!cp的完成不会自动完成第二个文件,并强制您键入它,以防您在匆忙中意外覆盖现有文件。

自1993年以来,tcsh已经有了可编程的补全,并且具有用于定义补全的广泛语法。好处是你可以做像这样的事情

代码语言:javascript
复制
complete dbx 'p/2/(core)/'

它在位置2定义了一个位置补全,将核心定义为单词“dbx”,这是dbx调试器在位置2最常见的补全,当您按TAB键时看到“核心”出现在那里是非常酷的。

缺点是,有一个完整的语法需要学习,以防/etc/profile.d/complete.tcsh没有做您期望的事情。到目前为止,我一直在设法避免学习这种语法,因为uncomplete在这种情况下对我来说很好。YMMV.:-)

票数 1
EN

Stack Overflow用户

发布于 2014-03-27 17:36:06

您有一个针对cp的自定义complete规则,该规则会导致您报告为意外的行为。所以这可能是一个糟糕的规则。

您可以简单地禁用它:

代码语言:javascript
复制
uncomplete cp

和/或从点文件(可能是.cshrc或其中的另一个点文件sourced )中删除complete cp命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22554050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档