是否有可能zsh从正确文件名的部分单词中完成整个文件名?例如,在这个文件夹下有(helloABC,helloabc,helloworld),我想只输入(oab tab)来获取(helloABC,helloabc.)
解决方法
是的,这是可能的.它可以在zsh完成系统中启用.
zstyle ':completion:*' completer _complete zstyle ':completion:*' matcher-list '' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' '+l:|=* r:|=*' autoload -Uz compinit compinit
> _completer提供正常的完成行为
>’m:{[:lower:] [:upper:]} = {[:upper:] [:lower:]}”l:| = * r:| = *’负责案例密集型匹配匹配可能发生在当前单词的两侧(从文件名的中间部分匹配).
注意:其中一些或类似的行可能已经在〜/ .zshrc中.在这种情况下,您可能需要编辑它们:
>如果还没有,则必须将_complete添加到以完成者定义开头的行中
>如果已经存在,则不区分大小写的规则可能看起来不同,例如m:{A-Za-z} = {a-zA-Z},您可以将其替换或保留原样.
l:| = * r:| = *必须在不区分大小写的规则之后立即出现(如果只有这两个规则之间的规则,它也可以工作,但我只检查了一些基本的组合,这有效)