为Mercurial启用bash选项卡完成(hg)

时间:2011-10-24 20:28:53

标签: bash ubuntu mercurial tab-completion

我在ubuntu上安装了Mercurial(1.4.3-1),默认情况下它没有在bash中完成标签。启用此功能的最简单方法是什么?

5 个答案:

答案 0 :(得分:13)

你需要

  • 为Mercurial安装最新的软件包,请参阅Mercurial PPA。这将为您提供一个/etc/bash_completion.d/mercurial文件,其中包含Mercurial的完成代码。您可以直接获取此文件以启用Mercurial的完成支持。

您还可以为所有程序启用完成支持:

  • 安装bash-completion包:aptitude install bash-completion

  • /etc/bash_completion文件中的来源~/.bashrc

    # Use bash-completion, if available
    if [ -f /etc/bash_completion ]; then
      . /etc/bash_completion
    fi
    

    这将启用所有命令的完成,包括Mercurial。

答案 1 :(得分:3)

curl https://www.mercurial-scm.org/repo/hg/raw-file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash

mercurial自动完成脚本似乎在此维护:

https://www.mercurial-scm.org/repo/hg/file/tip/contrib/bash_completion

source此脚本位于.bashrc或同等内容

答案 2 :(得分:2)

在Linux中安装bash-completion软件包(取决于您使用的Linux发行版)。

然后转到/etc/bash_completion.d/并创建一个名为hg的文件

并将此脚本的内容(如下)放入创建的hg文件

http://fts.ifac.cnr.it/cgi-bin/dwww/usr/share/doc/bash/completion-contrib/hg

答案 3 :(得分:1)

系统范围

适用于所有用户。

$ sudo curl https://www.mercurial-scm.org/repo/hg/raw-file/tip/contrib/bash_completion -o /etc/bash_completion.d/mercurial
$ source /etc/bash_completion.d/mercurial

答案 4 :(得分:0)

由于它既没有标记也没有标题" ubuntu",而且因为使用fedora的Google搜索也引出了这一点,我将添加一个关于Martin的答案的变体,通过引用工作/etc/bash_completion.d/mercurial.sh中的/etc/bash_completion代替~/.bashrc

# Use bash-completion, if available if [ -f /etc/bash_completion.d/mercurial.sh ]; then . /etc/bash_completion.d/mercurial.sh fi

不确定操作系统是否需要进行此区分,但这适用于Fedora 11到20。

更正: Fedora 11和Fedora 20.(未经测试12-19。)