为 Cygwin 添加命令自动完成功能

为 Cygwin 添加命令自动完成功能

我正在寻找一个“现代化”的 cmd.exe,我发现我对 Cygwin 相当满意。但是,我无法让 Cygwin 自动完成我需要的一些“命令”(SysInternal Suite 中的程序,如 contig...)。

我已经在变量中添加了程序路径PATH。它确实有效,因为无论当前文件夹是什么,我都可以使用这些程序。但自动完成功能仍然不起作用。

谷歌搜索没有带来太多信息。所以我请求你的帮助。任何想法都会受到赞赏。

答案1

Cygwin bash 提示确实允许 SysInternal Suite 命令名称完成,就像它对 PATH 中的任何其他程序所做的那样。

但是,对于新的 cygwin 用户来说,这里有两个可能的问题(我并不是说你就是其中之一 ;) ):

  1. PATH 变量必须包含命令的路径,采用“cygwin 格式”(安装在正斜杠下/cygdrive并使用正斜杠)

    例如:如果 Sysinternals Suite 安装在"c:\Program Files (x86)\SysinternalsSuite"

    export PATH="$PATH:/cygdrive/c/Program Files (x86)/SysinternalsSuite"
    

    注意:Cygwin 会自动将 Windows%PATH%环境变量转换为 bash 变量中的正确格式$PATH。因此,如果您已在 Windows GUI 中扩展了 PATH,那么一切就大功告成了。

    在 cygwin bash 提示符下使用以下命令仔细检查 PATH 变量的内容:

    echo $PATH
    
  2. 补全区分大小写。因此,就您的示例而言,您必须开始输入反对意见tig.exe ...大写的“C”。

相关内容