web-dev-qa-db-ja.com

Ubuntuで巧妙なタブ補完をオフまたは調整するにはどうすればよいですか(プログラム可能な補完)

Ubuntuのコマンドラインでさまざまなコマンドを実行していて、ファイルにタブ補完を使用している場合。私が与えられた唯一のファイルは、私が実行しているコマンドに適切な拡張子を持つファイルです。例えば..

xmms <tab><tab>

現在のディレクトリにあるすべてのmp3を一覧表示し、jpegは一覧表示しません。

ほとんどの場合、これは非常に便利です。ただし、必要なファイルの拡張子が正しくない場合、または拡張子が有効であるのにタブ補完がそうでないと思われる場合は、ファイルが一覧表示されないか、ファイルが補完されません。そう

  1. この機能をオフにする方法はありますか(関係なく、どのファイルに対してもばかげて完了します)。
  2. 特定のコマンドに有効な拡張子をどのように調整しますか。

ありがとう

ピーター

9
Vagnerr

これらの行を/etc/bash.bashrcでコメントアウトします(~/.bashrcにある場合があります):

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

これは、bashでは「プログラム可能な完了」と呼ばれます。 <tab>を使用してプログラム可能な完了を試行するか、M-/を使用してデフォルトの完了(通常はファイルとディレクトリ)を試行します。参照: http://spikeypillow.com/item/30/catid/4

10

プログラム可能な完了を無効にする最も洗練された方法は、以下を追加することです。

shopt -u progcomp

.bashrcファイルに。詳細については、shoptコマンドに関する公式ドキュメントを参照してください。 http://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html

4
sysprv

完了動作を変更するには、/ etc/bash_completionを編集するだけです。プログラムと関連する拡張機能のリストが表示される場所まで下にスクロールします。そこからはかなり自明のはずです。

2
Kim