Eines der besten und schnellsten Hilfsmittel bei der Software-Entwicklung ist autocomplete. Sei es in der IDE oder auf der Kommandozeile (in meiner Arbeitsumgebung die bash). Für einige Tools muss man das automatische Vervollständigen erst einrichten, aber dann ist es wahnsinnig praktisch. Im Folgenden deshalb ein paar Beispiele für git, ssh und Maven, die ich privat und beruflich unter Mac OS 10.6 und Linux benutze:
git
Für git gibt es ein Script das man einfach nur in seine Konfiguration einbinden muss. Erst dann macht das arbeiten mit vielen Branches (die am besten noch lange, sprechende Namen haben) erst richtig Spaß.
Um die git-completion zu nutzen muss man sich zuerst das git-completion.sh-Script aus der git Distribution besorgen, zum Beispiel via github.
Danach muss man noch folgende Zeile zur seinem .bash_profile oder .bashrc hinzufügen (vorausgesetzt man speichert das git-completion.sh unter ~ als .git-completion.sh, sonst muss man den Pfad den eigenen Vorlieben entsprechend anpassen:
source ~/.git-completion.sh
Anschließend kann man zum Beispiel seine Branchnamen per Tabulator auto-vervollständigen lassen.
ssh
Ich verbinde mich per ssh auf viele verschiedene Hosts mit teilweise doch recht langen Namen. Da ich den Username und key je nach Domain bereits in meiner ssh Konfiguration hinterlegt habe, benötige ich keinen Username mehr. Ein einfaches ssh $servername ist also für meine Zwecke vollkommen ausreichend. Um hier nun Autocompletion für die Servernamen zu aktivieren, kann man folgende Zeile in seine .bash_profile Datei eintragen:
Da hier die known_hosts Datei als Quelle für Servernamen verwendet wird, dürfen diese darin natürlich nicht gehasht sein, sondern müssen im Klartext vorhanden sein. Ansonsten gibt es noch Alternativen, die zum Beispiel die history auswerten. Unter Mac OS 10.6 funktioniert es jedenfalls wie oben beschrieben problemlos.
Maven
Auch für Maven gibt es bereits ein fertiges Script, dass man nur noch wie bei git einbinden muss. Leider wird es nicht mit Maven mitgeliefert, aber man kann sich die maven-bash-completion bei github ziehen. Eingebunden wird sie wie bei git mit einem
source ~/.maven-bash-completion
Vielen Dank für die tollen Tipps. Die vereinfachen die Arbeit wirklich. Vor allem muss ich mir jetzt keine kryptischen Abkürzungen mehr für Git-Branch-Namen überlegen, deren Bedeutung ich nach einem langen Wochenende dann schon wieder vergessen habe
Ich habe noch einen weiteren Tipp. Da ich oft in einer Hand voll Projekt-Verzeichnissen unterwegs bin, bzw. in deren Unterverzeichnissen, habe ich mir diese mit
CDPATH‘autovervollständig-bar’ gemacht. Hierzu muss man sich ‘bash-completion’ installieren und aktivieren, zB. über MacPorts:$ sudo port install bash-completionund in das .bash_profile:# activate bash-completion
if [ -f /opt/local/etc/bash_completion ]; then
. /opt/local/etc/bash_completion
fi
(siehe https://trac.macports.org/wiki/howto/bash-completion)
Dann kann man seine Verzeichnisse einfach in das .bash_profile eintragen, zB.:
export CDPATH='.:~:/Users/me/myWorspace/'Alle Verzeichnisse in
myWorkspacesind dann von jedem Verzeichnis aus bei zB.cddirekt erreichbar und ‘autovervollständig-bar’.