Wie schalte ich die clevere Tab-Vervollständigung in Ubuntu aus oder passe sie an (Programmable Completion)?


9

Wenn ich in Ubuntu verschiedene Befehle in der Befehlszeile ausführe und die Tab-Vervollständigung für Dateien verwende. Die einzigen Dateien, die mir gegeben werden, haben die entsprechende Erweiterung für den von mir ausgeführten Befehl. Zum Beispiel..

xmms <tab><tab>

würde alle MP3s im aktuellen Verzeichnis und keine JPEGs auflisten.

Meistens ist dies sehr nützlich. Wenn die gewünschte Datei jedoch eine falsche Erweiterung hat oder die Erweiterung gültig ist, die Tab-Vervollständigung dies jedoch nicht glaubt, wird die Datei nicht aufgelistet oder vervollständigt. Damit

  1. Gibt es eine Möglichkeit, diese Funktion zu deaktivieren (nur dumm für jede Datei, unabhängig davon).
  2. Wie passen Sie die Erweiterungen an, die für einen bestimmten Befehl gültig sind?

Vielen Dank

Peter


Antworten:


1

Kommentieren Sie diese Zeilen aus /etc/bash.bashrc(möglicherweise in ~/.bashrc):

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

10

Dies wird in bash als "Programmable Completion" bezeichnet. Verwenden Sie <tab>diese Option, um einen programmierbaren Abschluss zu versuchen, oder verwenden Sie M-/, um den Standardabschluss zu versuchen (normalerweise Dateien und Verzeichnisse). Siehe auch: http://spikeypillow.com/item/30/catid/4


Vielen Dank für den offiziellen Namen (Hinzufügen zum
Fragentitel

Wie beantwortet dies die Frage?
Shantnu

@ Shantnu Wir waren jung. Es wurden Fehler gemacht.
Annika Backstrom


2

Um das Abschlussverhalten zu ändern, bearbeiten Sie einfach / etc / bash_completion. Scrollen Sie nach unten zu der Liste der Programme und zugehörigen Erweiterungen. Von dort sollte es ziemlich selbsterklärend sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.