Wenn ich das mache:
alias g='git'
Ich verliere alle Vervollständigungsregeln (dh Verzweigungen und Fernbedienungen werden nicht mehr automatisch vervollständigt, wenn ich zum Beispiel nach dem Tippen die Tabulatortaste drücke g push o
).
command-line
bash
git
auto-completion
Paweł Gościcki
quelle
quelle
g=git
im letzten Monat 756-mal verwendet, was bedeutet, dass ich 1512-mal insgesamt das Drücken der Tasten 'g' und 'i' gespart habe. Zusammen mit meinen Aliasnamen erspart mir das wahrscheinlich Zehntausende von Tastendrücken pro Monat.Antworten:
Fügen Sie beim Kopieren und Ändern von
/etc/bash_completion.d/git
die folgenden Zeilen hinzu~/.bashrc
:quelle
source /usr/share/bash-completion/completions/git
zu meinem .bashrc.bashrc
Code hier funktioniert, aber diese Antwort ist definitiv veraltet./etc/bash_completion.d/git
scheint am 14.04. nicht zu existieren Siehe die Antwort von lzap unten.Die letzte Bash-Vervollständigung im Upstream wurde verschoben und ein wenig umbenannt. Es schneit:
Verwenden Sie dies in neueren Versionen von Ubuntu (zB 14.04, auch Fedora 22+), wenn Sie auf Folgendes stoßen:
während des Abschlusses.
quelle
__git_complete gc _git_checkout
(oder ähnliches), um Vervollständigungen für spezifischere Aliase einzurichten. Suchen Sie/usr/.../git
wie oben, um den richtigen Namen zu finden.gc
=>git checkout
) funktioniert, im Gegensatz zum Aliasingc
nachcheckout
innengit
und zum Sprichwortgit c
. Korrigiere mich, wenn ich falsch liege.In
~/.bashrc
:Via http://29a.ch/2013/8/9/fixing-bash-autocomplete-on-ubuntu-13-04
quelle
Rufen Sie zunächst den ursprünglichen Abschlussbefehl auf. Beispiel:
Fügen Sie diese nun Ihrem Startskript hinzu (zB ~ / .bashrc):
Die
_completion_loader
Leitung ist möglicherweise nicht erforderlich. In einigen Situationen wird die Vervollständigungsfunktion jedoch erst dynamisch geladen, nachdem Sie den Befehl eingegeben undTAB
das erste Mal gedrückt haben. Wenn Sie also den ursprünglichen Befehl nicht verwendet haben und den Alias + versuchenTAB
, wird möglicherweise die Fehlermeldung "bash: completion: function not found" angezeigt.quelle
Der aktualisierte Weg dies zu tun (komplett würde bei mir nicht funktionieren):
cd
- Wechseln Sie in Ihr Home-Verzeichniswget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash
source ~/git-completion.bash
Ihrer .bashrc-Datei hinzu (wenn Sie diese Datei nicht in Ihrem Home-Ordner haben, sucht bash automatisch danach)alias g='git'
Ihrer .bashrc-Datei hinzu.source ~/.bashrc
quelle
__git_complete g _git
Der Vollständigkeit halber möchte ich eine Antwort mit der
~/.bash-completion
Datei hinzufügen , die am Ende des Bash-Completion-Skripts abgerufen wird:Dann habe
~/.bashrc
ich in meinem nur die Aliase. Ich versuchte zu:~/.bashrc
mit Bash-Completion- Dingen zu belasten (bewahren Sie die Dinge dort auf, wo sie hingehören). ✓Leider quellen die
_xfunc
Quellen die Git-Vervollständigung trotzdem. Ich werde diese Antwort aktualisieren , sobald ich herausfinden , wie es richtig zu machen (ich fragte auch auf lunchpad hier ).quelle
Schau mal hier: https://gist.github.com/scue/576310b7c6b7714aad05
Viel Spaß! (^ O ^) /
quelle
Sie können einfach wie gewohnt Aliase definieren:
Installieren Sie dann den vollständigen Alias , um den Alias für die Bash-Fertigstellung zu aktivieren.
quelle