如何解决zsh/bash中git分支切换拉取函数的tab补全问题
解决zsh自定义git函数的分支补全问题
你遇到的问题是因为zsh没给自定义的gleap函数配置专属补全规则,默认用了文件/目录的补全逻辑。解决起来很简单,直接复用git checkout的分支补全就行:
- 打开你的
.zshrc文件,在原来的gleap函数下面添加这段补全配置:compdef _git_checkout gleap - 保存文件后,执行命令重新加载配置:
source ~/.zshrc
这样之后,输入gleap再按tab,就会自动补全git仓库里的分支名,不会再出现目录补全的情况了。
如果上面的方法不生效,也可以手动定义补全规则,同样加到.zshrc里:
_gleap() { local -a branches branches=($(git branch --format='%(refname:short)')) _describe 'git branch' branches } compdef _gleap gleap
执行source ~/.zshrc即可生效。
内容的提问来源于stack exchange,提问作者Mohamad Abyannaufal
相关产品推荐
相关产品推荐

