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