Vervollständigung der Terminalregisterkarte [duplizieren]

15

Mögliches Duplikat:
Bash-Vervollständigung für Befehle unter Mac OS

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

Lassen Sie mich anhand eines Beispiels erklären: Wenn ich git auf Ubuntu verwendet habe, beginne ich mit der Eingabe

$ git

Drücken Sie die Tabulatortaste und die Shell vervollständigt den Befehl oder zeigt die verfügbaren Optionen für die von mir eingegebenen Buchstaben an. Das passiert auch auf meinem Mac (Stufe 1). Wenn ich jedoch den nächsten Teil des Befehls weiter eingeben würde

$ git commit

Wenn Sie die Tabulatortaste drücken, führt das Mac-Terminal den nächsten Unterbefehl (für Git) nicht wie unter Linux aus. Gleiches gilt für andere Programme, die diese mehrstufige Befehlsvervollständigung unterstützen. Ich vermute, dass dies ein Readline-Bibliotheksproblem ist, bin mir aber nicht sicher, welches ich installieren soll.

sa125
quelle
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
Dies ist definitiv ein Problem mit der Bash-Konfiguration (da ich dieses Verhalten auf einem Mac habe, für das ich es konfiguriert habe, z. B. die Vervollständigung des Hostnamens). Sie sollten sich nach Power-Skripten für Bash umsehen und sie Ihrem Profil hinzufügen.
Shane C. Mason

Antworten:

13

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

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


quelle
Danke, das hat funktioniert. Ich habe Folgendes in meine .bashrc eingefügt, wenn [-f / opt / local / etc / bash_completion]; dann source / opt / local / etc / bash_completion fi
sa125 11.10.09
1
Noch besser, installieren Sie es über Homebrew:
Brew
@abyx: Die Wahl des "besseren" zwischen Homebrew und Macports ist eine sehr subjektive Sache
2

Für Git gibt es eine Option beim Kompilieren, um den Abschluss zu unterstützen.

Wenn Sie Git mit port installiert haben (was ich empfehle), können Sie git mit diesem Befehl neu installieren

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

Womit git mit Bash-Vervollständigung, git-svn-Unterstützung und Dokumentation installiert wird

Aurélien Bottazini
quelle