Unfassbare Tricks mit Zsh

February 17, 2021
Autor:in:
Prüfer:in:
Diane Phan
Twilion

Unfassbare Tricks mit Zsh

Hallo und Danke fürs Lesen! Dieser Blogpost ist eine Übersetzung von Zsh Tricks to Blow your Mind. Während wir unsere Übersetzungsprozesse verbessern, würden wir uns über Dein Feedback an help@twilio.com freuen, solltest Du etwas bemerken, was falsch übersetzt wurde. Wir bedanken uns für hilfreiche Beiträge mit Twilio Swag :)

Beim UNIX-basierten Programmieren dreht sich meist alles um Shells, Terminals und Kommandozeilen. Bash ist wahrscheinlich die bekannteste Option, aber es gibt auch andere weitverbreitete, wie zum Beispiel Zsh oder Z shell. Lies weiter, um mehr über Zsh zu erfahren und durch Tipps und Tricks zur Optimierung in deiner Entwicklung zu profitieren.

Was ist Zsh?

Zsh ist auch unter dem Namen Z shell bekannt und erweitert die Funktionalität der Bourne Shell (sh) durch neuere Funktionen und einen erweiterten Support von Plug-ins und Themen. Ab MacOS Catalina 2019 ist Zsh die standardmäßige Anmelde- und Interaktions-Shell für Mac-Rechner.

Zsh-Installation

Installiere Zsh mithilfe von Homebrew mit brew install zsh.

Installiere das beliebteste Zsh-Plug-in oh-my-zsh gleich mit, denn es bietet viele integrierte Plug-ins und Themen. Wir nutzen für die Installation dieses Skript:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

9 weniger bekannte Tipps und Tricks für Zsh

1. Meine Teamkollegin Valériane Venance teilte in einem Tweet den take-Befehl, mit dem ein neues Verzeichnis erstellt und in jenes gewechselt wird, ohne die beiden Befehle mkdir und cd dafür verwenden zu müssen. take erstellt bei Bedarf auch Zwischenverzeichnisse.

`take` command

 

 

2. Den Verlauf durchsuchen. Wenn wir im Terminal den Pfeil nach oben auswählen, werden uns zuvor verwendete Befehle angezeigt, beginnend beim allerersten. Mit zsh kannst du die Zeitpunkte aufrufen, zu denen du einen bestimmten Befehl genutzt hast, zum Beispiel mkdir.

search history

Mein wunderbarer Teamkollege Matthew Gilliard erzählte mir von ctrl-r ___, um zur letzten Suche einer bestimmten Phrase zu springen. Wenn wir erneut ctrl-r nutzen, springen wir zur zweitletzten, dann drittletzten Suche usw.

ctrl-r on the command line

3. cd – ganz automatisch.  cd müssen wir nicht mehr eingeben, um die Verzeichnisse zu wechseln. Dazu reicht einfach die Eingabe des Verzeichnisnamens.

4. Umbenennen von mehreren Dateien gleichzeitig mit zmvFühre zur Installation von zmv autoload zmv aus. Ich habe viele Bilder für ein Modell zum maschinellen Lernen heruntergeladen und möchte diese zugunsten der Einheitlichkeit umbenennen (z. B. epcot-1.jpg, epcot-2.jpg, epcot-3.jpg… anstelle von 1.jpg, 2.jpg, 3.jpg...). Der Befehl dafür lautet:

zmv '(*).(jpg|jpeg)' 'epcot-$1.$2'

Prüfe, was passiert, bevor der Befehl ausgeführt wird, indem du -n hinzufügst, anstelle diesen Code auszuführen:

zmv -n '(*).(jpg|jpeg)' 'epcot-$1.$2'

zmv with epcot pics

Was bedeutet dieser Code? (*).(jpg|jpeg) sucht nach allen Dateien im Verzeichnis, die entweder auf .jpg oder .jpeg enden. epcot-$1.$2 führt die Bearbeitung aller Dateinamen aus, indem epcot- gefolgt vom ursprünglichen Namen (dargestellt durch $1) und dem ursprünglichen Dateityp (mit $2) vorangestellt wird.

5. Ausführen von Berechnungen in der Befehlszeile wie mit einem Taschenrechner.

zcalc

6. Jede Menge leistungsstarke Plug-ins. Wie bereits im Abschnitt Installation erwähnt, hält oh-my-zsh zahlreiche Plug-ins bereit. Füge npm- und sudo-Plug-ins zu deiner ~.zshrc -Datei hinzu, indem du diese Zeile ergänzt: plugins=(npm sudo). Zu den herausragenden Plug-ins gehören:

  • npm – vervollständigt npm-Befehle automatisch.
  • sudo fügt – du ahnst es sicher schon – sudo zu einem Befehl hinzu, sogar dann, wenn die Eingabe per Doppelklick auf esc erfolgte.

escesc to sudo
  • zsh-autosuggestions schlägt Befehle während der Eingabe und laut vorheriger Befehle und Vervollständigungen vor.

autosuggestions
  • web-search gibt uns die Möglichkeit, eine Suchmaschine über die Befehlszeile zu öffnen. Führen wir google ___ aus, sucht Google nach einer bestimmten Phrase, zum Beispiel wie im Folgenden nach Serena Williams.

web search google serena
  • git fügt etliche Aliase für git-Befehle ein, sodass wir weniger tippen müssen und Zeit sparen. Statt git add tippen wir nur noch ga – praktisch, oder? Weitere Aliase findest du hier.
ga . alias

7. Einen Befehl zwischenspeichernctrl-q  speichert den Befehl zwischen, den wir gerade eingeben, und zeigt uns die Aufforderung wieder an, damit wir von vorne beginnen und einen anderen Befehl eingeben können. Sobald der andere Befehl ausgeführt wird, wird der ursprüngliche Befehl aus dem Zwischenspeicher in die Befehlszeile eingefügt und weiter geht‘s. Eine gute Hilfe, falls wir mal vergessen, einen Befehl vor dem anderen auszuführen. 

ctrlq.gif

8. Einfache Bearbeitung in der Befehlszeile eingegebener Befehle. Wenn wir einen langen Befehl eingegeben oder in die Befehlszeile hineinkopiert haben, diesen jedoch vor dem Ausführen bearbeiten möchten, öffnet ctrl-x-e diesen Befehl in einem beliebigen Texteditor (gewöhnlich vi, aber mit der Umgebungsvariable $EDITOR hast du die freie Editorauswahl.)

9. Spare Zeit mit Tastenkombinationen. Den Terminal blitzschnell löschen? Kein Problem mit ctrl l anstelle von clear.

So zündest du bei deiner Shell den Turbo

Das ist nur der Anfang, denn zsh und oh-my-zsh haben noch so viel mehr auf Lager. Sieh dir dieses Cheat Sheet zu oh-my-zsh cheat sheet und diese Liste mit ZSH-Frameworks, Themen und Plug-ins an, die von Joe Block, einem Ingenieur von Twilio, gepflegt werden, und zeige mir online, wie dein Terminal aussieht!