shell - 如何在没有 Ohmyzsh 的情况下获得不区分大小写的完成?
问题描述
我正在使用 OHMYZSH,但我正在考虑为 Zsh 构建一个最小配置。
所以这就是问题所在。Ohmyzsh 具有完成的特殊行为。例如:如果我在我的主目录中输入cd mus
并点击 TAB,它会扩展为cd Music
,即使我正在输入带有小写字母的句子。
我建立了这个:
让 zsh 返回不区分大小写的自动完成匹配,但更喜欢完全匹配
这是我的问题,但恰恰相反。我想在case insensitive
不安装 OHMYZSH 的情况下获得。
查看 OHMYZSH 结构,我发现:
. ├── ./缓存
├── ./CODE_OF_CONDUCT.md
├── ./CONTRIBUTING.md
├── ./自定义
├── ./lib
├── ./LICENSE.txt
├── ./log
├── ./oh-my-zsh.sh
├── ./plugins
├── ./README.md
├── ./模板
├── ./主题
└── ./工具
8个目录,5个文件
在 lib 文件夹中,有一些配置文件。
库
├── bzr.zsh
├──剪贴板.zsh
├── cli.zsh
├── compfix.zsh
├── 完成.zsh
├── 修正.zsh
├── 诊断.zsh
├── 目录.zsh
├── 函数.zsh
├── git.zsh
├── grep.zsh
├── history.zsh
├── key-bindings.zsh
├── misc.zsh
├── nvm.zsh
├── prompt_info_functions.zsh
├── 频谱.zsh
├── termsupport.zsh
└── 主题和外观.zsh
0 个目录,19 个文件
我已经尝试使用Zinit(ZSH 的插件管理器,可以加载一些 OHMYZSH 的东西)来获取 completion.zsh,但没有成功。我不知道我想要的行为的正确文件是什么。
这是我的配置:
#exports
export EDITOR=nvim
export VISUAL=code
export SUDO_EDITOR=nvim
# Theme
ZSH_THEME="spaceship"
#PLUGINS
#==============================================================
source "$HOME/.zinit/bin/zinit.zsh"
autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit
zinit light zdharma/fast-syntax-highlighting
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-completions
zinit light agkozak/zsh-z
#THIS LINE IS MY ATTEMPT TO load OHMYZSH FILES
zinit snippet OMZL::completion.zsh
#==============================================================
### End of Zinit's installer chunk
要加载的正确文件是什么?还是有其他方法可以case insensitive
完成?
解决方案
在阅读了一些评论后,我找到了解决方案。将这两行添加到 Zsh 配置文件中:
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
autoload -Uz compinit && compinit
推荐阅读
- http - cookie 是用 gzip 编码压缩的吗?
- python - TypeError:描述符'date'需要'datetime.datetime'对象,但在从非英语翻译成英语时收到'int'
- php - @ApiProperty openapi_context 类型数组示例
- python - 如何将硒对象生成的实例驱动程序传递给odoo中的向导
- java - spring aop 可以建议什么样的方法或 spring aop 连接点的限制是什么?
- scala - x 来自哪里?
- r - 手动计算岭回归解(矩阵形式)[r]
- angular - Angular 2 Reload Window 然后导航到不同的页面
- cryptography - AES-CTR 加密是否足以在本地加密文件?
- android - Xamarin 无法在 Android 上部署。意外的安装输出:错误:无法解析 APK 文件