我OS X
在zsh
shell中体验过这个,打开的手册页。
$ type open
open is /usr/bin/open
$ man open
OPEN(1) General Commands
Manual OPEN(1)
NAME
open – open files and directories
当我键入open
并键入选项卡时,我看到以下输出:
$ open
file: ftp:// gopher:// http:// https://
我从不尝试打开任何file:
, ftp://
, gopher://
, http://
, https://
,因此我只想压制它们。是否可以抑制它们并且只看到文件/文件夹名称。
根据您的输出,
open
是您的 OS X 系统中的可执行文件。因此,要修改其完成语法,您需要确定完成函数所在的位置并对其进行修改(我无法弄清楚如何以任何与仅修改的复杂性相当的方式从完成列表中删除内容现有功能)。
用于
whence -v $_comps[open]
确定完成函数的open
定义位置。将该文件复制到您可以找到的位置,例如 /home/alper/bin/open_completion.zsh。在那里,查找调用
_urls
函数的行(恰好是提供的完成参数函数file: ftp:// gopher:// http:// https://
)。它可能看起来像'*:URL:_urls'
一个可行的论点列表。您可能会删除该声明。
然后,将该函数添加到您的 zshrc 中。