我正在尝试配置我的 ~/.zshrc 以便文件/目录上的代码完成工作,因为我需要它。我在网上找到了关于 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 匹配的文件,如果没有找到将尝试与第二个 arg 匹配的文件
在这里它变得模糊:
- 我知道
'm:{a-zA-Z}={A-Za-z}'
匹配不区分大小写,但我不太理解语法。 - 我也知道它
'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*'
仍然不区分大小写,但也在整个字符串中搜索匹配,而不仅仅是开始。但是,我也不明白语法。
有人可以确认我以前的断言,并在需要时更正它们,并详细说明参数的巫毒语法吗?
谢谢
编辑:哦,对不起,如果这个问题更适合 superuser.com,我很难确定哪个网站更适合它。