Bash-Dateiname-Tab wird abgeschlossen

1333
lynks

Ich habe manchmal bemerkt, dass die Tab-Vervollständigung in bash hilfreich gefiltert wird. Ich bin ein Java-Programmierer und verwende häufig die Befehle javaund javacim Terminal für schnelle oder Remote-Aufgaben.

Angenommen, ich habe die zwei üblichen Dateien in einem Verzeichnis: MyProgram.javaundMyProgram.class

Wenn ich bash frage, ob aus dem Befehlspräfix tabcomplete werden soll java M, wird es direkt ausgefüllt. java MyProgramDies ist hilfreich. Natürlich ist bash so konfiguriert, dass nur * .class- Vervollständigungen für den javaBefehl akzeptiert werden (und die Dateierweiterung entfernt werden kann), oder der javaBefehl teilt bash dies irgendwie mit.

Ich möchte dasselbe mit einem Texteditor erreichen, also könnte ich den nano MTab vollständig eingeben, nano MyProgram.javaanstatt pausieren zu lassen. Istnano MyProgram. es möglich, die Blacklist * .class aus dem Nano-Tab komplett zu machen?

Vor allem würde mich nur interessieren, ob es sich um eine bash-Konfiguration oder etwas Programm-Seite handelt.

2

1 Antwort auf die Frage

3
Lekensteyn

javaverfügt über ein separates Skript für die automatische Vervollständigung, das den standardmäßigen Vervollständigungsmechanismus überschreibt. In meiner Distribution (Arch Linux) ist es in installiert /usr/share/bash-completion/completions/java.

Um das Verhalten der Tab-Vervollständigung zu überschreiben, können Sie ein solches Skript erstellen. Wenn Sie möchten, dass alle .classDateien für jeden Befehl ignoriert werden, können Sie die FIGNOREVariable festlegen (z ~/.bashrc. B. in Ihrer ). Beispiel: FIGNORE=.class. Aus der Handbuchseite von bash:

FIGNORE
Eine durch Doppelpunkte getrennte Liste von Suffixen, die bei der Ausführung von Dateinamen ignoriert werden sollen (siehe READLINE unten). Ein Dateiname, dessen Suffix mit einem der Einträge in FIGNORE übereinstimmt, wird aus der Liste der übereinstimmenden Dateinamen ausgeschlossen. Ein Beispielwert ist ".o: ~".

Ahh, das war es, wonach ich gesucht habe, vielen Dank lynks vor 11 Jahren 0