如何关闭或调整 Ubuntu 中的智能制表符补全(可编程补全)

如何关闭或调整 Ubuntu 中的智能制表符补全(可编程补全)

当我在 Ubuntu 的命令行上运行各种命令并使用制表符补全文件时。我得到的唯一文件是具有与我正在运行的命令相应的扩展名的文件。例如..

xmms <tab><tab>

将列出当前目录中的所有 mp3,但不列出任何 jpeg。

大多数情况下,这非常有用。但如果您想要的文件恰好有一个错误的扩展名,或者扩展名有效但制表符补全认为它无效,那么它就不会列出文件或完成它。所以

  1. 有没有办法关闭此功能(只是愚蠢地完成任何文件)。
  2. 如何调整对特定命令有效的扩展。

谢谢

彼得

答案1

注释掉/etc/bash.bashrc(可能在~/.bashrc) 中的以下几行:

if [ -f /etc/bash_completion ]; then
 . /etc/bash_completion
fi

答案2

这在 Bash 中称为“可编程完成”。用于<tab>尝试可编程完成,或用于M-/尝试默认完成(通常是文件和目录)。另请参阅:http://spikeypillow.com/item/30/catid/4

答案3

禁用可编程完成的最优雅的方法应该是添加:

shopt -u progcomp

到你的 .bashrc 文件中。有关更多详细信息,请参阅有关该命令的官方文档shopthttp://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html

答案4

我放

complete -r

作为我的最后一行.bashrc
这将丢弃所有已加载的完成并使 shell 再次变得“愚蠢”。

相关内容