2011-10-26 28 views
5

我試圖配置我的〜/ .zshrc文件/ dirs的代碼完成工作,因爲我需要它。 我已經在zstyle完成語法和代碼示例上發現了各種各樣的資源,但它的一些部分對我來說仍然是黑魔法。匹配器列表參數如何在zsh zstyle完成中工作?

到目前爲止,這裏是我在哪裏,有的擺弄和測試後:

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

這是我從中明白了:

  • zstyle ':completion:*'意味着我們要定義一個配置值完成
  • matcher-list是我們更新的配置,在這裏它定義了zsh如何匹配文件/目錄以建議
  • 'm:{a-zA-Z}={A-Za-z}' 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*'是傳遞給matcher-list配置的參數(值)。
  • 這裏我有兩個參數,用空格分隔。這意味着zsh的將首先嚐試找到匹配的第一個參數的文件,如果發現什麼都不會嘗試匹配第二ARG

的文件在這裏,它變得模糊:

  • 我得到的'm:{a-zA-Z}={A-Za-z}'使匹配大小寫不敏感,但我不太明白語法。
  • 我也得到'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*'仍然是大小寫不敏感,但也搜索整個字符串中的匹配,而不僅僅是開始。但是,我也沒有得到語法。

有人可以確認我以前的斷言,並在需要時糾正它們,以及詳細說明參數的voodoo語法嗎?

感謝

編輯:哦,對不起,如果問題是多個鑲嵌到superuser.com,我有一個很難搞清楚哪個網站是更適合它。

回答