In diesem Artikel konzentrieren wir uns auf etwas, das wir Entwickler täglich verwenden und dem wir oft nicht viel Bedeutung beimessen (ein häufiger Fehler unsererseits). Ich spreche über Terminals, genauer gesagt über einen Terminal-Multiplexer. Viele von uns kommen mit einem anständigen Terminal aus, mit dem wir die 4 erforderlichen Basisbefehle ausführen können. Aber heute möchte ich über tmux sprechen .
Ich möchte mich darauf konzentrieren, wie man mit einem Terminal produktiver und effizienter arbeiten kann. Als Bonus können Sie dies von jedem anständigen Terminal aus verwenden, grundsätzlich unter Linux und OS X (ich denke, dass dies mit der Entwicklerversion des neuen Windows 10 mit dem neuen Terminal auch möglich sein könnte, aber das ist etwas, womit ich mich nicht wirklich auskenne).
Was ist Tmux? Ein Terminal-Multiplexer.
Tmux ist ein „ Terminal-Multiplexer “. Im Grunde geht es darum, mehrere unabhängige Terminals in einem Terminal haben zu können. Um sicherzustellen, dass wir uns gegenseitig verstehen, geht es darum, das Fenster innerhalb des Terminals in Bereiche oder Registerkarten aufzuteilen.
In letzter Zeit habe ich ziemlich viel am Frontend-Teil gearbeitet und zwischendurch brauche ich zwangsläufig 4-5 Fenster und dann noch ein paar andere, mit denen ich Aufgaben erledige, die nicht in meinen üblichen Arbeitsablauf fallen. Um Ihnen ein klares Beispiel zu geben: In einem der Projekte, an denen ich derzeit arbeite, laufen bei mir diese Dienste:
- Webpack-Dev-Server für Frontend
- TSC zum Kompilieren von Typescript
- Karma für Frontend-Tests
- Fake-Server – ein von uns verwendeter Node.js-Server mit statischen Antworten
- Backend – Docker in Aktion (für Integrationstests vor dem Commit)
*Off-Topic: Viele waren vielleicht überrascht zu sehen, dass ich tsc und karma habe, obwohl karma bereits kompiliert und alle notwendigen Abläufe zum Ausführen von Tests durchführt. Ich habe tsc, weil ich normalerweise mehr auf die IDE schaue und normalerweise Mocha-Tests auf dem kompilierten JS starte (so bekomme ich viel schneller Feedback).
Das sind die, die ich in meinem Alltag verwende, dann erledige ich auch andere Arten von Aufgaben wie SSH-Verbindungen zu Remote-Servern, Htop, Yarn usw. Und das alles für ein einziges Projekt .
Tmux hindert uns natürlich nicht daran, ein Terminal zu verwenden, es erleichtert uns jedoch die Navigation darin. Sehen wir uns das genauer an, lernen wir die Konzepte kennen, die Tmux uns bietet, und sehen wir uns die Befehle an. Im Wesentlichen finden Sie hier einen kurzen Tmux-Spickzettel .
Tmux-Spickzettel und Tastenkombinationen
Sitzung
Eine Sitzung ist nichts anderes als eine Sammlung von Terminals, die vom tmux-Server verwaltet werden . Das bedeutet, dass die Sitzung auf der Clientseite angezeigt wird, aber wenn der Client eine tmux-Trennung dieser Sitzung durchführt, bedeutet das nicht, dass die Sitzung zerstört wurde. Der Client kann jederzeit wieder darauf zugreifen (solange er sie nicht löscht). Ein Vorteil dieser Erklärung ist, dass wir nichts verlieren, wenn wir tmux auf einem Remote-Server haben und die Verbindung verlieren, da der tmux-Server den Status der Sitzung weiterhin aufrechterhält. Wir müssen uns nur wieder mit dem Server verbinden und die Sitzung anhängen.
Fenster
Ein Fenster nimmt den gesamten Bildschirm des Terminals ein und befindet sich innerhalb der Sitzungen. Eine Sitzung kann mehrere Fenster haben, aber immer nur eines gleichzeitig anzeigen. Ein Fenster kann in mehrere Bereiche unterteilt werden, mit denen wir arbeiten werden.
Feld
Ein Fensterbereich ist der Teil des Fensters, in dem sich das Terminal befindet, mit dem wir arbeiten. Hier gibt es kein Geheimnis mehr.
Grundlegende Befehle für tmux
Um tmux zu starten, führen Sie einfach $ tmux auf dem Terminal aus. Dadurch wird eine tmux-Sitzung mit einem Namen gestartet, der von tmux selbst vergeben wird. Wenn wir eine Sitzung mit einem Namen erstellen möchten, der uns besser passt, müssten wir $ tmux new -s mySession starten .
Was wir gerade getan haben, ist, dass wir ein Terminal mit einer Leiste darunter geöffnet haben, die ungefähr so aussieht:
Hier wird uns mitgeteilt, dass wir uns in der Sitzung mySession befinden und dass wir ein einzelnes Fenster mit dem Namen des Befehls haben, der gerade ausgeführt wird.
Bevor Sie mit dem praktischen Teil fortfahren, müssen Sie verstehen, was das Präfix ist. Das Präfix ist nichts anderes als eine Tastenfolge, die vor jedem tmux-Befehl gedrückt wird. Standardmäßig ist es Strg – b , im Internet wird es als Cb bezeichnet . Nur zu Ihrer Information möchte ich hinzufügen, dass Sie Strg drücken und, ohne es loszulassen, B drücken müssen. Sie können es dann loslassen, um den tmux-Befehl zu starten.
Nützliche Befehle für die Sitzung
Cb + s – Liste der Sitzungen auf unserem Tmux-Server
C-b + $ – Sitzung umbenennen
C-b + d – Aktuelle Sitzung trennen (nicht löschen, sondern nur im Hintergrund belassen). Wir gehen zum Terminal und es wird uns eine Meldung ähnlich wie [detached (from session mySession)] angezeigt .
Sobald wir außerhalb der Sitzung sind, können wir $ tmux ls starten, um die Liste der aktiven Sitzungen anzuzeigen und uns erneut mit $ tmux attach -t <Name der Sitzung> zu verbinden , z. B.:
Wenn wir innerhalb unserer Sitzung ein neues Fenster erstellen möchten, sollten wir Cb + C drücken . Dadurch würde die folgende Leiste angezeigt:
Nützliche Befehle zu Windows
Um zwischen Fenstern wechseln zu können, gibt es mehrere Befehle. Ich erkläre die am häufigsten verwendeten:
Präfix + p – Gehe zum vorherigen Fenster
Präfix + n – Gehe zum nächsten Fenster
Präfix + [Zahl] – Gehe zu einem bestimmten Fenster (die Zahl wird direkt neben dem Fenster angezeigt)
Präfix + & – Schließe das Fenster (muss bestätigt werden)
Nützliche Befehle für Fenster
Nachdem wir uns darüber im Klaren sind, wie wir uns durch die verschiedenen Fenster bewegen, werden wir diese in verschiedene Bereiche aufteilen:
Präfix + % – Vertikale Teilung
Präfix + “ – Horizontale Teilung
Eigentlich ist es ganz einfach. Wenn wir mehrere Tests durchführen, können wir ungefähr Folgendes erhalten:
Jetzt müssen Sie nur noch zwischen den Fenstern wechseln und verschiedene Aktionen ausführen, die bei den Fenstern sehr häufig vorkommen stable diffusion xl.
Präfix + [Pfeile] – In Pfeilrichtung zwischen Fenstern wechseln
Präfix + x – Fenster schließen
Präfix + z – Auf das aktive Fenster zoomen (erneut Präfix + z zum Herauszoomen)
Präfix + oder – Nächstes Fenster
Präfix + Leertaste – Layout der aktuellen Fenster ändern
Präfix +! – Fenster in Fenster umwandeln
Offensichtlich ist dies etwas ziemlich Grundlegendes, mit dem Sie Ihre Produktivität steigern können. Basierend auf meiner Erfahrung würde ich Ihnen, wenn Sie gerade erst angefangen haben, empfehlen, diese Befehle auszuführen, sich zu zwingen, immer tmux zu verwenden und, sobald Sie sich wohl fühlen, versuchen Sie, die wunderbare Welt der Erstellung Ihrer eigenen tmux-Konfiguration zu entdecken, Plugins zu installieren und sogar Schlüssel zuzuordnen (zum Beispiel ist mein Präfix Ca statt Cb , was in der tmux-Community recht üblich ist ).