如何讓 zsh tab 補全修復目錄和檔案的大小寫錯誤?

如何讓 zsh tab 補全修復目錄和檔案的大小寫錯誤?

我在之前的 arch 安裝中完全切換到了 zsh,我喜歡它主要是因為 arch 是在 ~ 目錄中利用文件、下載、音樂和此類目錄的發行版之一。因為我不習慣這一點,而且我在終端中幾乎所有內容都使用製表符完成,與bash 相比,zsh 對我來說就像天堂......我發誓這個功能曾經是自動激活的,因為我不記得必須調整任何讓它以這種方式工作的東西。我可能是偶然想到的。 xD 但我非常希望使用 zsh 作為我的主 shell 在我的新電腦上恢復此功能,如果有人知道如何做到這一點,我將非常感謝回覆。我嘗試啟動完成配置中的每個選項,但這似乎並沒有起到作用......所以這把我帶到了這裡。

PS:我以前對我的 Linux 技術了解得更多,但我的知識已經變得陳舊了......我正在嘗試彌補這一點......(不使用 Shift 鍵,就像有可能……哈哈)

答案1

長話短說:如果您將這些行放入zsh設定檔中,則這是可能的,通常~/.zshrc

autoload -Uz compinit && compinit
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'

更多資訊:

當使用 zsh補全系統(由 開始autoload -Uz compinit && compinit)並由 控制風格

zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'

這表明zsh小寫字母將匹配小寫字母和大寫字母。 (即大寫字母僅符合大寫字母。)

如果您希望大寫字母也符合小寫字母,請改用:

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'

如果您只想在沒有區分大小寫的匹配項時進行不區分大小寫的匹配,請添加'',例如

zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'

matcher-list 另請參見中的描述man zshcompsys

相關內容