我正在运行osx并安装了oh-my-zsh,如果这是相关的。
无论如何,如果我输入类似" andr"并点击标签来完成它,它自动填充到_xrandr
而不是什么都不做(android
不在我的路径中)。我不确定为什么。
知道为什么会这样吗?
答案 0 :(得分:2)
oh-my-zsh 设置完成以查找输入单词左侧的完成次数。
这发生在~/.oh-my-zsh/lib/completion.zsh
:
## case-insensitive (all),partial-word and then substring completion
if [ "x$CASE_SENSITIVE" = "xtrue" ]; then
zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
unset CASE_SENSITIVE
else
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
fi
这里的重要部分是'l:|=* r:|=*'
。如果您不喜欢此行为,则只需将其从zstyle ':completion:*' matcher-list
中删除即可。执行此操作的最佳方法是在~/.oh-my-zsh/custom
中创建一个扩展名为.zsh
的文件,例如own-completion.zsh
:
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*'
这是为了不区分大小写的完成,如果您不想这样做,也请删除'm:{a-zA-Z}={A-Za-z}'
。
您可以直接在~/.oh-my-zsh/lib/completion.zsh
更改它,但更新 oh-my-zsh 后可能会被覆盖。