4 Min. Lesezeit
Die Dreier-Regel
Schwere Sätze bringen alles zum Schweigen, außer dem Teil meines Kopfes, der zählt. An jenem Morgen zählte er dies: dieselben vier Befehle, vor dem Mittagessen elfmal getippt.
Die Lösung ist keine Raketenwissenschaft. Ein Alias ist eine Zeile; eine Shell-Funktion fünf. Für die Syntax stellt dich niemand ein. Was Leute unterscheidet, ist der Reflex: Wiederholung überhaupt zu bemerken und einen Ort zu besitzen, an dem die Lösung für immer wohnt. Meiner ist die stille Familie von Dotfiles, die jedes Home-Verzeichnis trägt. .zshrc auf meinem Mac, .bashrc auf der Windows-Maschine, .gitconfig für die Versionskontrolle: Aliasse, Funktionen, Node-Versionswechsel. Kleine Teile, ein System, überall, wo ich arbeite.
Unter der Hantel baut Wiederholung Muskeln auf. Im Terminal verbrennt sie nur Fokus, die eine Ressource, die ich nicht verschwende. Unsichtbare Steuern habe ich schon gejagt. Diese versteckt sich im Muskelgedächtnis.
Die Regel
Jahre in der Produktion haben sie zu einem Satz verdichtet: Alles, was ich öfter als dreimal am Tag tue, bekommt ein Skript. Kein Ticket, kein Irgendwann: ein Skript, noch am selben Tag.
Genau so lese ich auch andere Engineers. Wie lange jemand im Terminal lebt, erkennt man nicht am Tempo des Tippens, sondern daran, wie wenig getippt wird.
Deine private Standardbibliothek
Jede Terminal-Session beginnt mit dem Einlesen einer Datei: ~/.zshrc (oder .bashrc, wenn Bash dein Zuhause ist). Die meisten Entwickler behandeln sie wie eine Rumpelschublade für alles, was Stack Overflow ihnen 2019 zum Einfügen empfahl. Ich behandle meine wie eine private Standardbibliothek: in jede Session geladen, versioniert, mit Absicht gebaut.
Die Einstiegsstufe ist der Alias, eine komprimierte Entscheidung:
alias dev='cd ~/dev'
alias cc='claude'
alias dbg='open -a "Google Chrome" --args --remote-debugging-port=9222'Navigation, ein KI-Agent und ein Browser, der mit bereits lauschendem Debug-Port aufwacht. Alles einen Tastenanschlag entfernt, sofort da. Drei Zeilen, drei Entscheidungen, die ich nie zweimal treffe.
Und das Prinzip endet nicht an der Shell. ~/.gitconfig ist die zweite Hälfte der Bibliothek. Ein paar Zeilen unter ihrer [alias]-Sektion, und auch die Versionskontrolle hat Routinen:
dog = log --decorate --oneline --graph
god = log --decorate --oneline --graph --all
confl = diff --name-only --diff-filter=Ugit dog zeigt einen Branch als Graph, git god das ganze Repository auf einen Blick, und git confl druckt genau die Dateien, die nach einem Merge noch bluten. Kein Wühlen im git status-Rauschen, während ein Rebase brennt.
Wo Aliasse enden, beginnen Funktionen
Ein Alias ist Textersetzung. Eine Funktion ist ein Programm, das in deiner Shell lebt, mit Argumenten, Logik und Haltung:
c() {
nvm use node --silent
cc "$@"
}Ein Buchstabe. Er hebt die Session auf das neueste Node.js meiner Maschine und übergibt alles an den Agenten. Der elegante Teil ist aber das, was er nicht tut.
Der Scope-Trick, den dir niemand beibringt
nvm ist keine Binary; es ist eine Shell-Funktion, die in deine Session geladen wird. Wechselt sie die Version, schreibt sie den PATH dieses einen Shell-Prozesses um und sonst nichts. Kein globaler Zustand, kein sudo, keine Nebenwirkungen. Und ich habe es in einer frischen Shell verifiziert, bevor ich diesen Satz geschrieben habe, denn ich veröffentliche kein Verhalten, das ich nicht selbst gesehen habe.
Deshalb leben meine Terminals friedlich in verschiedenen Jahrzehnten:
# Terminal 1: Kundenprojekt, in der Vergangenheit verankert
cd legacy-app && nvm use # liest .nvmrc → v20.19.0
# Terminal 2: der Agent auf der neuesten Engine
c # → v24.x, nur diese SessionSchließ das zweite Terminal, und es ist, als wäre es nie passiert. Zehn Node-Versionen koexistieren auf dieser Maschine. Anzahl der Konflikte, jemals: null.
Worum es wirklich geht
Nicht um Tastenanschläge. Eine fünfzeilige Funktion spart mir vielleicht zwei Minuten am Tag: rund sieben Stunden im Jahr, nicht einmal ein Arbeitstag. Die Arithmetik ist fast peinlich. Was sie verändert, ist die Haltung: Defaults sind Entscheidungen, die jemand anderes für dich getroffen hat, und jedes Skript in meinen Dotfiles ist ein Default, den ich überstimmt habe.
Das Terminal hat keine Leitplanken. Deshalb meiden es die meisten, und deshalb lebe ich dort. Dieselbe Souveränität, die diese kleinen Werkzeuge baut, ist der Grund, warum ich fremde Skripte erst lese und dann ausführe. Können schneidet in beide Richtungen; meines bleibt auf meine eigenen Maschinen gerichtet.
Unter der Hantel gilt dasselbe Prinzip: Entferne das Überflüssige, wiederhole, was sich verzinst, und lass die Zeit multiplizieren. Die Steuer, zurückerstattet. Wenn du Teams (oder unvernünftige Roadmaps) aus Menschen baust, die so denken, mein Postfach ist offen.
Beitrag teilen