bash_completion是补全bash命令的强力助手,但最新版却添加了一个很鸡肋的功能,经常在补全目录的时候自以为是地在目录后面中断,加上空格。比如
mv ~/results/test.dat ~/tmp
我们会在敲入mv ~res后就按tab补全。但最新版的bash_completion不是补全到mv ~/results/,而是补到mv ~/results ,注意results后面有个空格。这样如果非常熟练地按照以前的输入方法,敲mv ~res[tab]test.dat ~/tmp,就会变成
mv ~/results test.dat ~/tmp
变成了要把整个~/results转移掉。我已经出了一次这样的问题了,感到很严重,这样下去迟早会引起严重的误操作。
但是我不想直接去掉bash_completion,而还是希望保留大部分的bash_completion功能。于是修改/etc/bash_completion,找到下面这段话,全部注释掉即可
for i in a2ps awk bash bc bison cat colordiff cp csplit
curl cut date df diff dir du enscript env expand fmt fold gperf gprof
grep grub head indent irb ld ldd less ln ls m4 md5sum mkdir mkfifo mknod
mv netstat nl nm objcopy objdump od paste patch pr ptx readelf rm rmdir
sed seq sha{,1,224,256,384,512}sum shar sort split strip tac tail tee
texindex touch tr uname unexpand uniq units vdir wc wget who; do
have $i && complete -F _longopt -o default $i
done
unset i
https://blog.sciencenet.cn/blog-423882-420199.html
上一篇:
[Fortran]用Unformatted格式生成的超大文件的另类通用读法下一篇:
Archlinux下Firefox 4.0与scim不兼容的解决方案