2011-10-24 37 views
7

我已經在ubuntu上安裝了Mercurial(1.4.3-1),並且它在默認情況下不會在bash中執行選項卡完成。啓用此功能的最簡單方法是什麼?爲Mercurial啓用bash選項卡完成(hg)

+2

你真的應該考慮使用較新的水銀釋放。有可用於Ubuntu的PPA存儲庫,您可以啓用這些存儲庫以無縫方式獲得Mercurial的正常自動更新行爲,這種行爲不會超過當前的一年:https://launchpad.net/~mercurial-ppa/+存檔/版本 –

回答

12

您需要

  • 安裝Mercurial的最新軟件包,請參閱Mercurial PPA。這會給你一個帶有Mercurial完成碼的/etc/bash_completion.d/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 
    

    這將使完成所有的命令,包括水銀。

0

,因爲它是沒有標籤,也沒有標題「Ubuntu的」,因爲谷歌搜索在Fedora也導致在這裏,我將馬丁的答案,如果您選擇~/.bashrc引用/etc/bash_completion.d/mercurial.sh,而不是/etc/bash_completion作品增添變化:

如果

# 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。)

2

的bash_completion腳本位置發生了變化,所以你需要做的

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

代替

curl http://www.selenic.com/hg/raw-file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash 
+0

這個答案是跨平臺的,不需要Ubuntu。我在OS X上使用它。它應該在你有'bash','curl'(和'hg' ;-)的地方工作。 – lkuty

+0

在OSX上爲我工作。謝謝! – Brodan

+0

你應該更新這個包括在你的'.bashrc'中添加'source〜/ .hg-completion.bash',這樣你就不必在每個新的shell中運行這個。 – Brodan