【问题标题】:Can zsh do smartcase completion like vim's search?zsh 可以像 vim 的搜索那样做 smartcase 完成吗?
【发布时间】:2012-11-16 21:08:03
【问题描述】:

Vim 有一个“smartcase”特性,它使搜索不区分大小写,但前提是搜索包含所有小写字母。当您搜索任何大写字母时,smartcase 会假定您需要区分大小写的搜索。有没有办法在 zsh 的 tab 补全中获得相同的行为?

【问题讨论】:

    标签: zsh zsh-completion


    【解决方案1】:

    看看我的 zshrc 文件。

    https://github.com/martincanaval/arch-conf/tree/master/etc/zsh

    我有你想要的功能,我相信这条线成功了。

    zstyle ':completion:*'  matcher-list 'm:{a-z}={A-Z}'
    

    【讨论】:

    • 太棒了。我有 m:{a-zA-Z}={A-Za-z} 我从某个地方复制的,我只是用它替换了它。有趣的是,Vim 中 smartcase 的确切含义是,如果整个字符串包含任何大写字母,则它是区分大小写的。在这个 zsh 变体中,只有字符串中的大写字母是区分大小写的。我想我实际上更喜欢这种方式。
    • 哦,这不是我的功劳,我从grml zsh site 拿走了它(以及我的大部分.zshrc)。很高兴它有帮助。
    • 我发现只添加这个命令是不行的。之后,我们必须使用autoload -U compinit && compinit 来进行不区分大小写的补全工作。
    • 你的 github 仓库是不是去了别的地方,链接失效了?
    • zstyle ':completion:*' matcher-list '' '+m:{a-zA-Z}={A-Za-z}' '+r:|[._-]=* r:|=*' '+l:|=* r:|=*' 更允许。
    猜你喜欢
    • 2012-08-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多