如何获取bash补全用别名来工作? [英] How do I get bash completion to work with aliases?

查看:114
本文介绍了如何获取bash补全用别名来工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

案例分析:<​​/ P>

我是在Mac上使用bash v3.2.17,我使用的是通过与bash_completion变异的MacPorts安装的git。

当我键入 git的结帐M&LT;标签&gt; 。例如,我把它完成

不过,我有一个别名 git的结帐 GCO 。当我键入​​ GCO M&LT;标签&gt; ,我没有得到自动完成的分支名

在理想情况下,我想自动完成,为我所有的别名只是神奇的工作。是否可以?做不到这一点,我想手动自定义为每个别名。所以,我怎么去要么?


解决方案

正如上面的注释中规定,

 完整-o默认-o -F无空间GCO _git_checkout

将不再工作。然而,有一个在混帐completion.bash一个 __ git_complete 功能,可用于设置为完成像这样的别名:

  __ git_complete GCO _git_checkout

Case in point:

I'm a on mac with bash v3.2.17, I'm using git installed via macports with the bash_completion variant.

When I type git checkout m<tab>. for example, I get it completed to master.

However, I've got an alias to git checkout, gco. When I type gco m<tab>, I don't get the branch name autocompleted.

Ideally I'd like autocompletion to just magically work for all my aliases. Is it possible? Failing that, I'd like to manually customize it for each alias. So, how do I go about either?

解决方案

As stated in the comments above,

complete -o default -o nospace -F _git_checkout gco

will no longer work. However, there's a __git_complete function in git-completion.bash which can be used to set up completion for aliases like so:

__git_complete gco _git_checkout

这篇关于如何获取bash补全用别名来工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆