公司同事用的ubuntu系统,自动补全功能不错,但是本人的Centos 6.6系统使用sudo的时候就不能自动补全了,git命令也不能自动补全。
网上搜索一番解决方法如下。
一 git不能补全问题
下载git源码
-
$ git clone https://www.kernel.org/pub/scm/git/
找到git-completion.bash文件拷贝到 ~/目录下
$ sudo cp contrib/completion/git-completion.bash ~/.git-completion.bash
编辑 /etc/bashrc 文件 在最后加入:source /home/yourname/.git-completion.bash
或者
$ sudo cp contrib/completion/git-completion.bash /etc/bash_completion.d/
source /etc/bash_completion.d/git-completion.bash
得到git-completion.bash的另一种方法:
-
sudo find / -name 'git-completion*'
-
/usr/share/doc/git-1.7.1/contrib/completion/git-completion.bash
所以linux系统里面是有一份文件的,直接拷贝就可以了。
二 自动补全。这里说的补全,不只是系统默认的补全路径跟文件名的补全功能,而是命令的参数的补全,有了这个补全之后,在Bash里面几乎能补全任何可以补全的补全。
RedHat系的默认没有安装,需要安装一个bash-completion,就可以实现了。当你sudo yum install xxx的时候,这些单词中的任何一个你都补全,输入到yum ins然后按Tab键的时候再按Tab就可以补全install。
安装之前,在/etc/bash_completion.d/目录下执行ls:
-
git rpmlint
-
createrepo.bash gvfs-bash-completion.sh scl.bash
-
dbus-bash-completion.sh perf subversion
-
dkms pk-completion.bash yum.bash
-
gdbus-bash-completion.sh rpmdevtools.bash-completion yum-utils.bash
安装:
-
sudo yum install bash-completion
在查看/etc/bash_completion.d/下面的文件:
-
ant gvfs-bash-completion.sh rcs
-
autoconf gzip redefine_filedir
-
automake iconv rfkill
-
bash-builtins ifupdown rpcdebug
-
bind-utils info rpm
-
brctl iproute2 rpmdevtools.bash-completion
-
bumblebee iptables rpmlint
-
bzip2 java rsync
-
chkconfig lsof samba
-
configure lvm scl.bash
-
coreutils lzma service
-
cpan2dist make sh
-
cpio man shadow
-
createrepo.bash mdadm smartctl
-
crontab minicom sqlite3
-
cryptsetup module-init-tools ssh
-
cups mysqladmin strace
-
cvs net-tools subversion
-
dbus-bash-completion.sh nmap tar
-
dd ntpdate tcpdump
-
dhclient open-iscsi util-linux
-
dkms openssl wireless-tools
-
dvd+rw-tools perf wodim
-
e2fsprogs perl wvdial
-
findutils pk-completion.bash xmllint
-
fuse pkg-config xmlwf
-
gcc pm-utils xorg-x11-server-utils
-
gdb postfix xsltproc
-
gdbus-bash-completion.sh postgresql xz
-
genisoimage procps yp-tools
-
getent python yum.bash
-
git qdbus yum-utils.bash
-
gpg2 quota-tools
这时候就可以实现自动补全功能了。
(责任编辑:IT) |