一个例子:
我是使用 bash v3.2.17 的 mac,我使用的是通过 macports 安装的带有 bash_completion 变体的 git。
当我键入git checkout m<tab>. 例如,我把它完成到master.
git checkout m<tab>
master
但是,我有 , 的git checkout别名gco。当我输入时gco m<tab>,我没有自动完成分支名称。
git checkout
gco
gco m<tab>
理想情况下,我希望自动完成功能可以神奇地适用于我的所有别名。可能吗?如果做不到这一点,我想为每个别名手动自定义它。那么,我该怎么做呢?
正如上面评论中所说,
complete -o default -o nospace -F _git_checkout gco
将不再工作。但是,__git_completegit-completion.bash 中有一个函数可用于为别名设置完成,如下所示:
__git_complete
__git_complete gco _git_checkout