如何配置zsh实现不区分大小写的部分单词补全功能
解决方案
你现在的配置不生效是因为matcher-list里的每一条匹配规则是独立生效的,你只给第一条前缀匹配规则加了不区分大小写的配置,后面两条负责子串、后缀匹配的规则没有同步加大小写映射,所以后半部分匹配的时候还是会区分大小写。
把m:{a-z}={A-Za-z}这段规则加到每一条匹配项里即可,修改后的配置如下:
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' 'm:{a-z}={A-Za-z} r:|[._-]=* r:|=*' 'm:{a-z}={A-Za-z} l:|=* r:|=*'
修改完~/.zshrc后执行source ~/.zshrc即可生效,现在输入bar就可以匹配到FooBar这类大小写混合的目标了。
注意事项
如果你使用了Oh My Zsh框架,需要确认配置中没有开启CASE_SENSITIVE变量,该变量会覆盖上述补全规则的大小写不敏感配置。
内容的提问来源于stack exchange,提问作者shahn
相关产品推荐
相关产品推荐

