Mac Terminal Auto Complete


78

Ich habe eine Weile nach einem Patch dafür gesucht. Wenn Sie auf einem Unix / Linux-Terminal die Tabulatortaste drücken, wird es normalerweise automatisch vervollständigt, bis mehrere Optionen verfügbar sind. Anschließend werden die folgenden Optionen aufgelistet, die Sie auswählen können. Zum Beispiel:

cd he
helpFolder/ helpMe/ heIsThere/
cd help

Mit dem Mac-Terminal müssen Sie es zweimal drücken, um die Optionen anzuzeigen, und ich habe mich gefragt, ob es möglich ist, diese Einstellung auf einmaliges Drücken der Tabulatortaste zu ändern.

Antworten:


52

Setzen Sie dies in Ihre ~/.inputrc:

set show-all-if-ambiguous on

Sie müssen Ihre Shell neu starten (z. B. durch Öffnen eines neuen Terminalfensters oder Eingabe exec /bin/bash).


Wo ist ~ / .inputrc Datei
Vikas Pandey

6
@Vikas geben Sie einfach nano ~ / .inputrc oder pico .inputrc ein, um es zu bearbeiten. Aufgrund des Zeitraums ist die Datei ausgeblendet, sodass Sie sie in keinem Browser sehen können
Bqin1

1
Für diejenigen, die nach ~ / .inputrc-Datei fragen: Öffnen Sie einfach das Terminal und geben Sievim ~/.inputrc
seralouk

1
@VikasPandey ~/entspricht dem Home-Verzeichnis Ihres aktuellen Benutzers und ist der Ort, an dem Sie diese Art von Einstellungsdatei speichern möchten .
NathanQ

143
  1. Geben Sie das Terminal ein nano ~/.inputrc
  2. Fügen Sie Folgendes in separate Zeilen ein

    set completion-ignore-case on
    set show-all-if-ambiguous on
    TAB: menu-complete
    
  3. Drücken Sie Strg + O, um Änderungen an .inputrc zu speichern, gefolgt von Strg + X, um den Vorgang zu beenden
  4. Öffnen Sie ein neues Terminalfenster oder eine neue Registerkarte oder geben Sie "Login" ein, um eine neue Sitzung mit den geltenden Regeln zu öffnen
  5. Geben Sie ein und drücken Sie die Tabulatortaste

Src: http://osxdaily.com/2012/08/02/improve-tab-completion-in-mac-os-x-terminal/


2
Für andere Personen, die dies versuchen: Ich habe dies in ~ / .profile versucht und beim Neustart eine Fehlermeldung erhalten: -bash: TAB: menu-complete: Befehl nicht gefunden. In .inputrc hat es gut funktioniert.
Andrew Swift

1
Ist es möglich, alles zu zeigen, wenn es nicht eindeutig ist? Im
Moment,

12

Ich füge eine neue Antwort hinzu, weil in meinem Fall das Hinzufügen der Zeile set show-all-if-ambiguous onnicht ausreichte.

Ich musste auch die Zeile entfernen : TAB: menu-complete.

Meine vollständige ~/.inputrcDatei lautet wie folgt:

set completion-ignore-case on
set show-all-if-ambiguous on

2
Dies löste mein Problem +1 mit diesem Tab (es war bestrebt, automatisch zu
vervollständigen

6

Was Sie ändern möchten, ist das Bash-Shell-Setup. Meine Betriebssystemversion ist 10.11.6 und ich verwende mvim, hier nur vim oder vi. Wenn das ~ / .inputrc nicht existiert, müssen Sie ein neues erstellen.

  1. Im Terminaltyp vim /.inputrc.
  2. Die Variable "Abschluss-Ignorier-Fall" und "Alles anzeigen, wenn mehrdeutig" muss aktiviert sein, damit sie aktiviert ist. Dazu werden diese Einstellungen in zwei Zeilen set completion-ignore-case onund eingefügtset show-all-if-ambiguous on

  3. Fügen Sie TAB: menu-completedas vim hinzu, schreiben Sie es und beenden Sie es. : wq

  4. Beenden Sie das Terminal mit Befehl + Q.
  5. Starten Sie das Terminal erneut und überprüfen Sie das Ergebnis.
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.