当前位置: 首页>>技术教程>>正文


linux – 如何在Ubuntu中关闭或调整巧妙的制表符完成(可编程完成)

, , ,

问题描述

当我在Ubuntu的命令行上运行各种命令并将tab-completion用于文件时。我得到的唯一文件是具有我正在运行的命令的适当扩展名的文件。例如..

xmms <tab><tab>

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

在大多数情况下,这是非常有用的。但是,如果您想要的文件碰巧具有错误的扩展名,或者扩展名有效,但制表符完成不认为是扩展名,则它将不会列出文件或完成该文件。所以

  1. 有没有一种方法可以关闭此功能(无论如何,对任何文件都完全完成)。

  2. 如何调整对特定命令有效的扩展名。

谢谢

彼得

最佳回答

/etc/bash.bashrc中注释掉这些行(可能在~/.bashrc中):

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

次佳回答

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

第三种回答

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

shopt -u progcomp

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9417.html,未经允许,请勿转载。