Comment désactiver ou ajuster la complétion intelligente de l'onglet dans Ubuntu (complétion programmable)

9

Lorsque j'exécute diverses commandes sur la ligne de commande dans Ubuntu et que j'utilise la complétion de tabulation pour les fichiers. Les seuls fichiers qui me sont donnés sont ceux qui ont l'extension appropriée pour la commande que j'exécute. Par exemple..

xmms <tab><tab>

listerait tous les mp3 dans le répertoire courant et pas les jpeg.

La plupart du temps, cela est très utile. Mais si le fichier que vous voulez se trouve avoir une extension incorrecte, ou que l'extension est valide mais que l'achèvement de l'onglet ne le pense pas, il ne répertoriera pas le fichier ou ne le complétera pas. Donc

  1. Existe-t-il un moyen de désactiver cette fonctionnalité (complétez simplement n'importe quel fichier).
  2. Comment ajustez-vous les extensions valides pour une commande particulière.

Merci

Peter

Vagnerr
la source
Identique à ceci: superuser.com/questions/421397/…
MarcH

Réponses:

1

commentez ces lignes /etc/bash.bashrc(elles peuvent l'être ~/.bashrc):

if [ -f /etc/bash_completion ]; then
 . /etc/bash_completion
fi
John T
la source
10

Ceci est appelé "Achèvement programmable" dans bash. Utilisez <tab>pour tenter la complétion programmable, ou utilisez M-/pour tenter la complétion par défaut (généralement les fichiers et répertoires). Voir aussi: http://spikeypillow.com/item/30/catid/4

Annika Backstrom
la source
Merci pour le nom officiel (en l'ajoutant au titre de la question)
Vagnerr
Comment cela répond-il à la question?
shantnu
@shantnu Nous étions jeunes. Des erreurs ont été commises.
Annika Backstrom
2

Pour changer le comportement de complétion, éditez simplement / etc / bash_completion. Faites défiler vers le bas pour trouver la liste des programmes et des extensions associées. Cela devrait être assez explicite à partir de là.

Kim
la source