Zsh

如何從“打開”的選項卡完成建議中抑制 *://?

  • May 7, 2022

OS Xzshshell中體驗過這個,打開的手冊頁

$ 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 中。

引用自:https://unix.stackexchange.com/questions/701742