加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Zsh从文件名中间自动完成

发布时间:2020-12-13 19:16:56 所属栏目:Linux 来源:网络整理
导读:是否有可能zsh从正确文件名的部分单词中完成整个文件名?例如,在这个文件夹下有(helloABC,helloabc,helloworld),我想只输入(oab tab)来获取(helloABC,helloabc.) 解决方法 是的,这是可能的.它可以在zsh完成系统中启用. 将这些行添加到.zshrc将为您提供以下功
是否有可能zsh从正确文件名的部分单词中完成整个文件名?例如,在这个文件夹下有(helloABC,helloabc,helloworld),我想只输入(oab tab)来获取(helloABC,helloabc.)

解决方法

是的,这是可能的.它可以在zsh完成系统中启用.

将这些行添加到.zshrc将为您提供以下功能:

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:| = *必须在不区分大小写的规则之后立即出现(如果只有这两个规则之间的规则,它也可以工作,但我只检查了一些基本的组合,这有效)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读