zsh:覆盖内置函数

时间:2019-01-21 11:03:45

标签: git zsh zsh-completion

Disable auto-completion of remote branches in Zsh?中给出的答案不再起作用,因为zsh在过去六年中改变了它的执行方式。

我破解了__git_refs函数的一个版本,该版本未列出遥控器,并将其定义存储在~/.zsh-functions/__git_refs中。该文件以unfunction __git_refs 2> /dev/null开头,以确保删除了系统功能定义。

如果我source ~/.zsh-functions/__git_refs然后键入git checkout <Tab>,我只会看到本地分支,这是正确的。

但是,如果我在.zshrc的末尾添加source ~/.zsh-functions/__git_refs并启动新的zsh,我仍然可以获得该函数的系统版本,并且完成内容将显示远程分支以及本地分支。

如何在每次启动shell时都不必键入source ~/.zsh-functions/__git_refs来覆盖此功能?

(或者,是否有一种更清洁的方法让zsh仅显示仍在zsh 5.6.2上可用的补全中的本地分支?)

0 个答案:

没有答案