Deaktivieren Sie die Bash-Tab-Vervollständigung

19

Ist es möglich, die automatische Vervollständigung von bash durch Drücken der Tabulatortaste zu deaktivieren?

Der Grund, warum ich dies tun möchte, ist, dass ich häufig Code aus einem Editor in mein Terminal einfüge, in dem ich das Tabulatorzeichen anstelle mehrerer Leerzeichen zum Einrücken verwende.

Und nein, Sie können mich nicht davon überzeugen, Leerzeichen anstelle von Tabulatoren zu verwenden.

Tyilo
quelle
In zsh wird mit der Tabulatortaste ein Tabulator eingefügt, wenn Sie ihn am Zeilenanfang (vor einem Nicht-Leerzeichen) drücken. Ich glaube nicht, dass Bash dafür programmiert werden kann (Sie können einen Schlüssel an eine Bash-Funktion binden, aber AFAIK, Sie können keinen Abschluss von dieser Bash-Funktion auslösen).
Gilles 'SO - hör auf böse zu sein'

Antworten:

16

stellen

 set disable-completion on

String in ~/.inputrcund starten Sie Ihre Shell neu. es wird die Fertigstellung überhaupt deaktivieren.

eilen
quelle
aber nicht nur in der Bash ...
yrk
8
Damit es nur Bash ~/.inputrcbind 'set disable-completion on'
betrifft
1
Was Dennis gesagt hat, und die entsprechende Startdatei ist ~/.bashrc(wenn es keine Login-Shells gibt, füge source ~/.bashrcsie hinzu ~/.bash_profile).
Gilles 'SO- hör auf böse zu sein'
6

Um die Bash-Tab-Vervollständigung nur vorübergehend zu deaktivieren, können Sie einen Bash mit der folgenden --noeditingOption starten :

alias noed='bash --noediting'
musta
quelle
6

Dennis 'Lösung

bind 'set disable-completion on'

kann auch on the fly in Bash gemacht werden. Sie müssen es nicht in .bashrc einfügen.

Mustas Lösung (bash --noediting) funktioniert, deaktiviert aber auch die Befehlszeilenbearbeitung.

Ein anderer Weg ist

bind -u complete

(nicht gesetzte Schlüsselbindung in Verbindung mit 'vollständig')

http://www.gnu.org/software/bash/manual/bashref.html , 4.2 Eingebaute Bash-Befehle.

thomas tulinsky
quelle
Die richtige Antwort auf die Frage "Wie deaktiviere ich die Bash-Vervollständigung vorübergehend ?" Dies ist sehr hilfreich, wenn Sie durch ein Verzeichnis mit mehr als 81.000 Dateien navigieren und nicht einmal Strg + C können, ohne zwei Minuten darauf zu warten, dass Bash mit einer Eingabeaufforderung zurückkommt.
TheDudeAbides