我有一個別名:alias gco='git checkout'
選項卡完成在zsh的別名子命令:別名GCO =「git的結帳」
我如何添加標籤完成,如果我輸入了git checkout
?我使用compdef g='git'
。
我一直在嘗試使用compdef
,但我沒有取得任何成功。
我有一個別名:alias gco='git checkout'
選項卡完成在zsh的別名子命令:別名GCO =「git的結帳」
我如何添加標籤完成,如果我輸入了git checkout
?我使用compdef g='git'
。
我一直在嘗試使用compdef
,但我沒有取得任何成功。
你不需要做任何事情,特別是compdef g='git'
,它應該沒有任何配置工作。只有使用函數代替別名時,才需要某些東西。
我剛剛得到文件完成。我發現oh-my-zsh使用了compdef; https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/git.plugin.zsh –
@ WilliamBettridge-Radford這些人一定做了一些事情來禁用默認行爲或者只是做不必要的工作。只要做'zsh -f
工作,謝謝你。我正在使用github的dotfiles分支。我想我會把它們全部關掉,然後慢慢加回來。 https://github.com/holman/dotfiles –
禁用此選項,你也不錯......
# don't expand aliases _before_ completion has finished
# like: git comm-[tab]
# setopt complete_aliases
這是爲我做的。爲了清楚起見,你想在這個響應中註釋掉那行,而不是讓你的'config.zsh'看起來像這樣。如果你想完成別名,你應該不要**設置complete_aliases選項。 –
對於我來說加入兩個complete_aliases
和compdef
是必要得到片斷如下工作:
alias docker-compose-dev='docker-compose -f docker-compose.yml -f docker-compose-dev.yml'
compdef docker-compose-dev='docker-compose'
setopt complete_aliases
在zsh的,它只是只要我定義一個別名(沒有'compdef'或任何東西),我就可以工作。你試過了嗎? –
是的,我已經嘗試過了,我只是完成文件。 –