Zsh 补全在 `_` 和 `-` 之间不敏感

Zsh 补全在 `_` 和 `-` 之间不敏感

我不喜欢输入下划线,而是想输入破折号,并让 zsh 自动完成功能将其视为破折号或下划线。

这可以通过内置的 zsh 功能、oh-my-zsh 或其他功能实现吗?是否可以在全球范围内使用,如果不能,是否可以使用单个自动完成功能?

旁白:我目前有一个针对 bashmarks 的自定义完成功能,它在提供可能的完成时仅将下划线转换为破折号,并且希望替换/改进它。

答案1

手册页zshcompsys有一个类似的示例来获得不区分大小写的完成

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

将其更改为 make-_等效项似乎可以满足您的要求

zstyle ':completion:*' matcher-list '' 'm:{-_}={_-}'

或者您可以将其添加到第一个示例中,并且也获得不区分大小写的完成

zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z-_}={A-Za-z_-}'

相关内容