Terminal-Tab abgeschlossen

5912
sa125

Mögliches Duplizieren:
Bash-Abschluss für Befehle in Mac OS

Ich bin gerade von Linux auf Mac umgestiegen, und eines der Probleme, die ich habe, ist, dass die Tab-Vervollständigung nur eine Ebene tief ist und ich nicht sicher bin, wie ich das korrigieren kann.

Lassen Sie mich es mit einem Beispiel erklären. Wenn ich Git auf Ubuntu verwendet habe, beginne ich zu tippen

$ git 

und drücken Sie die Tabulatortaste, und die Shell würde den Befehl vervollständigen oder die verfügbaren Optionen für den eingegebenen Buchstaben anzeigen. Das passiert auch auf meinem Mac (1 Ebene). Wenn ich jedoch den nächsten Teil des Befehls weiter eingeben würde

$ git commit 

und drücken Sie die Tabulatortaste. Das mac terminal würde den nächsten Unterbefehl (für git) nicht wie in Linux ausführen. Gleiches gilt für andere Programme, die diesen Befehl zum Abarbeiten auf mehreren Ebenen unterstützen. Ich vermute, dass dies ein Problem mit der Readline-Bibliothek sein könnte, aber ich bin mir nicht sicher, welche ich installieren sollte.

15
Es ist kein Readline-Problem (in der Tat ist es kein "Problem"), es liegt daran, dass Ubuntu Ihre Hand mit benutzerdefinierten Paketen für Bash hält. Jed Smith vor 15 Jahren 0
Dies ist definitiv ein Problem mit der Bash-Konfiguration (da ich dieses Verhalten auf mac + viel mehr bekomme, für das ich es konfiguriert habe, wie zum Beispiel der Hostname-Abschluss). Sie sollten sich nach Power-Skripts für Bash umsehen und sie Ihrem Profil hinzufügen. Shane C. Mason vor 15 Jahren 0

2 Antworten auf die Frage

13

Laden Sie bash_completion herunter und beziehen Sie es von Ihrem .bashrc. Dann contrib/completion/git-completion.bashaus der Git-Verteilung in bash_completion.d.

Alternativ können Sie es auch über MacPorts installieren .

danke, das hat funktioniert. Ich fügte Folgendes in meiner .bashrc hinzu, wenn [-f / opt / local / etc / bash_completion]; dann source / opt / local / etc / bash_completion fi sa125 vor 15 Jahren 0
Besser noch, installieren Sie es über Homebrew: Brew Install Bash-Completion abyx vor 13 Jahren 1
@abyx: Die Wahl des "besseren" zwischen Homebrew und Macports ist eine sehr subjektive Angelegenheit vor 13 Jahren 0
2
Aurélien Bottazini

Für git gibt es eine Option zum Kompilieren, um die Fertigstellung zu unterstützen.

Wenn Sie Git zur Installation von Git verwendet haben (was ich empfehle), können Sie git mit diesem Befehl erneut installieren

sudo port install git-core +svn+bash_completion+doc 

Das installiert git mit bash Completion, git-svn-Unterstützung und docs