我在 ubuntu 上安装了 Mercurial (1.4.3-1),默认情况下它不会在 bash 中完成制表符。启用此功能的最简单方法是什么?
6 回答
你需要
- 为 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。
curl https://www.mercurial-scm.org/repo/hg/raw-file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash
善变的自动完成脚本似乎在这里维护:
https://www.mercurial-scm.org/repo/hg/file/tip/contrib/bash_completion
source
这个脚本在你的.bashrc
或同等的
系统范围
对于所有用户。
$ 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
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
在您的 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
由于它既没有标记也没有命名为“ubuntu”,并且因为使用 Fedora 进行谷歌搜索也导致了这里,所以我将在 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。)