1
我运行osx并安装了oh-my-zsh,如果这是相关的。无论如何,如果我输入“andr”之类的东西并点击tab来完成它,它会自动完成到_xrandr
而不是什么都不做(android
不在我的路径中)。我不确定为什么。“安德尔”选项卡完成到“_xrandr”而不是android或什么都没有
任何想法为什么可能是这种情况?
我运行osx并安装了oh-my-zsh,如果这是相关的。无论如何,如果我输入“andr”之类的东西并点击tab来完成它,它会自动完成到_xrandr
而不是什么都不做(android
不在我的路径中)。我不确定为什么。“安德尔”选项卡完成到“_xrandr”而不是android或什么都没有
任何想法为什么可能是这种情况?
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可能会被覆盖。
执行'android'命令是否在你的路径? – Guillaume
这不是,但应该是相关的?难道它不应该做任何事情吗? (刚刚解决了问题标题以反映这一点) – randomafk
因此,如果它不在你的路径中,'zsh'无法完成它!你可以用'export PATH = $ PATH:编辑你的'.zshrc'来添加命令' –
Guillaume