如何从“打开”的选项卡补全建议中抑制 *://?

如何从“打开”的选项卡补全建议中抑制 *://?

OS X我在shell中经历过这个zsh打开的手册页

$ type open
open is /usr/bin/open

$ man open
  OPEN(1)                   General Commands
Manual                            OPEN(1)

NAME
     open – open files and directories

当我键入open并键入 tab 时,我会看到以下输出:

$ open                                                                                                                          
file:      ftp://     gopher://    http://    https://

我从未尝试打开任何file:, ftp://, gopher://, http://, https://,因此我只想抑制它们。是否可以抑制它们并仅查看文件/文件夹名称。

答案1

根据您的输出,open它是 OS X 系统中的可执行文件。

因此,要修改其完成语法,您需要找出完成函数所在的位置并对其进行修改(我无法弄清楚如何以与仅修改复杂性相当的方式从完成列表中删除内容)现有功能)。

用于whence -v $_comps[open]找出 的补全函数的open定义位置。将该文件复制到您可以找到的位置,例如 /home/alper/bin/open_completion.zsh。

在那里,查找调用该函数的行_urls(恰好是提供的完成参数函数file: ftp:// gopher:// http:// https://)。它可能看起来像'*:URL:_urls'一系列可行的论点。

您可能会删除该声明。

然后,添加要在 zshrc 中加载的函数。

相关内容