Bashs Tab-Vervollständigung unabhängig von Groß- und Kleinschreibung machen [duplizieren]


40

Mögliches Duplikat:
Groß- und Kleinschreibung wird in Bash nicht berücksichtigt

Gibt es eine Möglichkeit, die Tab-Vervollständigung in der Bash-Groß- / Kleinschreibung zu ändern? Wenn ich eine Datei mit dem Namen Zum Beispiel habe Hello.txtund versuchen, Tab-Vervollständigung durch Eingabe hegefolgt von Tabes wird nicht funktionieren. Ich müsste es durch Eingabe von He(beachten Sie die Großbuchstaben H) und tab-vervollständigen Tab. Gibt es eine Möglichkeit, Bash einzurichten, damit ich die Groß- / Kleinschreibung nicht beibehalten muss, wenn ich sie eingebe und versuche, sie durch Tabulatoren zu vervollständigen?


Ich bin froh zu wissen, dass dies unter Linux funktioniert, da die andere Frage OSX-spezifisch ist, @sathya
earthmeLon

Antworten:


55

Erstellen Sie eine Datei mit dem Namen .inputrcin Ihrem Ausgangsverzeichnis und platzieren Sie diese Zeile darin:

set completion-ignore-case on

Öffnen Sie dann eine neue Shell und probieren Sie es aus. Wenn / etc / inputrc auf Ihrem System vorhanden ist, sollten Sie im Allgemeinen auch die Zeile hinzufügen $include /etc/inputrc. Es gibt jedoch keine Möglichkeit, diese Bedingung zu erfüllen. Fügen Sie sie daher nur hinzu, wenn diese Datei vorhanden ist.


14
Dadurch wird verhindert, dass Bash die /etc/inputrcStandardeinstellungen liest und beispielsweise die Navigation mit Strg-Links / Rechts unterbricht. Stellen Sie sicher, $include /etc/inputrcin Ihrem hinzuzufügen ~/.inputrc.
Nicolas Marchildon

1
Sie können diese Änderung auch mit bind -f ~ / .inputrc erneut laden.
Bischof

2
Ich werde @NicolasMarchildon Kommentar in die Antwort integrieren, weil es dort sein sollte
theEpsilon

Seltsamerweise funktioniert es bei mir nicht. Hier ist meine ~/.inputrc: pastebin.com/WVQmrNZu
Alexey Petrenko

@ AlexeyPetrenko Das sieht für mich ok aus. Gibt es unsichtbare Zeichen in der Datei, die die Dinge durcheinander bringen? Versuchen Sie es mit LC_ALL=C cat -vet ~/.inputrc- Sie sollten ein "$" am Ende jeder Zeile sehen, aber nichts anderes lustig. Versuchen Sie auch bind -v, zu sehen, was für die completion-ignore-caseVariable angezeigt wird. Schließlich gibt es etwas in einer anderen Shell-Init-Datei, das es möglicherweise ändert?
Gordon Davisson
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.