Einführung in Tmux

Eines der am häufigsten verwendeten Werkzeuge im Web-Entwicklungsprozess ist sicherlich das Terminal. Während Sie an einem Projekt arbeiten, befinden Sie sich oft in der Position, das Terminal mit mehreren geöffneten Registerkarten zu verwenden, eine zum Starten eines lokalen Webservers, eine zweite Registerkarte zum Verwalten der Datenbank, eine andere zum Kopieren von Dateien usw. Dies kann schnell unübersichtlich und schwer zu handhaben sein. Eine Lösung für dieses Problem, die für mich gut funktioniert, ist der Terminalmultiplexer tmux.


Was ist Tmux?

tmux ist ein Terminal-Multiplexer: Ermöglicht die Erstellung, den Zugriff und die Steuerung einer Reihe von Terminals, von denen jedes ein eigenes Programm ausführt.

Die obige Definition aus der tmux Website ist klar: Von einem Terminalfenster aus können wir eine Reihe anderer Terminals starten und steuern und in jedem von ihnen eine andere Anwendung oder eine andere Instanz einer Anwendung ausführen.

tmux wird auf einem Client-Server-Modell entwickelt. Dies bringt das Konzept von Sitzungen ins Spiel. Eine Sitzung wird auf dem Server gespeichert, der die Darstellung eines Fensters enthält. Jedes Fenster kann mit mehreren Sitzungen verbunden und zwischen diesen verschoben werden.

Auf der anderen Seite können an jede Sitzung mehrere Clients angehängt werden. So können sich ein oder mehrere Benutzer mit einem verbinden tmux Sitzung von verschiedenen Computern aus und sie teilen die gleichen Informationen im Fenster. Dies ist äußerst hilfreich beim Unterrichten oder bei der Zusammenarbeit, da die Benutzer a gemeinsam nutzen tmux Sitzung sehen die gleichen Informationen in ihren Terminalfenstern.

Verbindung zu einem tmux Die Sitzung wird ausgeführt, indem die Anwendung mit dem folgenden Befehl gestartet wird:

tmux hinzufügen 

Wenn ein Benutzer die Terminalfreigabefunktion beenden möchte, wird der folgende Befehl verwendet:

tmux trennen

Wie installiere ich Tmux?

tmux läuft unter Linux und Mac. Zum Zeitpunkt des Schreibens dieses Artikels ist mir keine Windows-Version der Anwendung bekannt.

Für die meisten Linux-Distributionen gibt es ein Paket in ihren Repositorys:

  • Ubuntu
  • Suse

Bei Arch (das ich verwende) geht es bei der Installation einfach darum, den folgenden Befehl auszuführen:

Sudo Pacman -S TMux

Nach der Installation können Sie beginnen tmux durch die Ausgabe des Befehls tmux in einem Terminalfenster. Wenn Sie möchten, dass es für jede Terminalsitzung automatisch ausgeführt wird, ist ein kleines Konfigurationsstück erforderlich:

  • Im Einstellungsmenü gehen Sie zu Aktuelles Profil bearbeiten und setze das Befehl Feld zu tmux wie im Screenshot unten:

Wenn Sie mit einem Mac arbeiten, wird iTerm2 mitgeliefert tmux installiert, und um es zu starten, sollten Sie den Befehl ausgeben: tmux.


Eigenschaften

Wenn Sie nach der Installation ein Terminalfenster starten, werden Sie nur das Vorhandensein einer Statuszeile am unteren Bildschirmrand bemerken:


Lassen Sie uns einen Blick auf die häufigsten Funktionen werfen. Eine Liste der vollständigen Funktionen finden Sie in den Links am Ende dieses Artikels.

Fenster erstellen

Oder mit anderen Worten, das Hauptfenster teilen. Zunächst muss ich das jeweils sagen tmux Befehl wird mit der folgenden Tastenkombination vorangestellt: . Dies kann geändert werden, aber wir werden lernen, wie man es konfiguriert und anpasst tmux später.

Um ein Fenster vertikal zu teilen (oder in rechten und linken Bereichen), sollte der folgende Befehl verwendet werden:

%

Um das Fenster in horizontale Fenster zu teilen, können Sie Folgendes verwenden:

"

Das Ergebnis sollte folgendermaßen aussehen:


Wechseln von einem Bereich zum anderen und Positionieren von Bereichen

Um den Cursor von einem Fenster zum anderen zu bewegen (Fenster aktivieren), werden die Pfeiltasten verwendet. Der Befehl sieht so aus:

[Auf, Ab, Rechts, Links]

Wenn Sie zum zuvor aktiven Bereich wechseln möchten, können Sie den folgenden Befehl verwenden:

;

Wenn Sie mit der Position eines Bereichs nicht zufrieden sind, können Sie die Bereiche mit dem folgenden Befehl drehen:

Ändern der Größe von Fenstern

Nach dem Erstellen können Sie die Größe jedes Bereichs in einem einzigen Zellschritt ändern.

oder in fünf Zellen Schritt mit:

Einen Bereich schließen

Wenn Sie das aktuelle Fenster schließen möchten, können Sie Folgendes verwenden:

x

Erstellen Sie ein neues Fenster

Manchmal möchten Sie möglicherweise ein anderes Fenster erstellen, um beispielsweise an einem anderen Projekt zu arbeiten. Dieses Fenster enthält möglicherweise einen völlig anderen Satz von Fenstern mit unterschiedlichen Programmen in jedem von ihnen. Geben Sie dazu den folgenden Befehl ein:

c

Wenn Sie dann zum nächsten Fenster wechseln möchten, können Sie Folgendes verwenden:

n

Sie können zum vorherigen Fenster wechseln, indem Sie Folgendes verwenden:

p

Oder Sie wählen das Fenster interaktiv mit:

w

Ein Fenster schließen

Um das aktuell geöffnete Fenster zu schließen, verwenden Sie:

&

Kopiermodus

Angenommen, Sie haben einen Befehl auf dem Terminal ausgegeben und die Ausgabe des Befehls passt nicht in einen Bildschirm. Sie müssen also nach oben scrollen, um die gesamte Ausgabe zu sehen. Wenn Sie versuchen, die Oben Mit dieser Taste können Sie nicht nach oben scrollen, da nur die Befehlsübersicht angezeigt wird. Um auf dem Bildschirm nach oben zu scrollen, verwenden Sie den folgenden Befehl:

[

Drücken Sie dann eine der folgenden Tasten: Oben, Nieder, PgUp oder PgDn nach oben oder unten scrollen.

In diesem Modus können Sie auch Text aus dem Verlauf kopieren und ihn dann einfügen mit:

]

Um das zu beenden einfügen Modus, einfach drücken Esc.

Nun gibt es viele andere Befehle, die an verschiedene Tasten gebunden sind. Sie können alle Schlüsselbindungen auflisten, indem Sie Folgendes ausgeben:

?

Tmux konfigurieren

tmux ist hoch konfigurierbar. Die Konfigurationsdatei ist entweder /etc/tmux.conf für systemweite Einstellungen oder (empfohlen) ~ / .tmux.conf für benutzerspezifische Einstellungen.

Ändern Sie den Präfixschlüssel

Eine der ersten Änderungen, die die meisten Benutzer ändern, ist die Zuordnung des Präfixschlüssels (seit scheint nicht so praktisch zu sein). Die meisten Benutzer ändern es in . Dies kann wie folgt gemacht werden:

set -g Präfix C-a Unbindung C-b Bindung C-a Sendepräfix

Das -G Die Option im ersten Befehl teilt tmux mit, dass dies eine globale Option ist. Dies bedeutet, dass diese Option für alle Fenster und Sitzungen festgelegt ist.

Ändern Sie die Tastenkombinationen

Einige Benutzer bevorzugen Vi oder Emacs-Bindungen für die wichtigsten Aktionen. Dies geschieht mit:

set -g status-keys vi setw -g modustasten vi

Das Setw Befehl, legt die Option für das Fenster fest (wirkt sich auf alle Fenster eines Fensters aus).

Statuszeile

Sie können die Statuszeile in verschiedenen Konfigurationen konfigurieren: Sie können sie ein- oder ausschalten, Hintergrund- und Vordergrundfarbe ändern, Sie können ändern, welche Informationen in der Statuszeile angezeigt werden usw..

Geben Sie den folgenden Befehl aus, um die Statusleiste zu deaktivieren:

-g Status ausschalten

Oder versuchen Sie es mal so:

set -g status-bg blau set -g status-fg weiße setw -g status-left #H: #S um #W: #T

…, Der den Hintergrund der Statuszeile in blau, die Textfarbe in Weiß ändert und links von der Statusleiste den Hostnamen von localhost anzeigt, gefolgt von einem Doppelpunkt und dem Sitzungsnamen, gefolgt von der Zeichenfolge 'at' und dem Fensternamen a Doppelpunkt und schließlich der Fenstertitel.

Sie können die Statuszeile auch unten oder oben im Fenster anzeigen:

set -g status-position [unten | oben]

Weitere Informationen zur Konfiguration und zu anderen Konfigurationsoptionen finden Sie im Abschnitt Optionen des Handbuchs.


Fazit

Ich hoffe, Sie haben diese Einführung gefunden tmux hilfreich bei der Verbesserung Ihres Terminal-Workflows. Ich habe hier nur einige Befehle vorgestellt, die ich am häufigsten benutze. Wenn Sie mehr erfahren möchten, stehen mehrere Ressourcen zur Verfügung. Ich empfehle sehr:

  • Das tmux Handbuch
  • Und tmux auf Arch Wiki