[LINUX] (Vielleicht) Sie haben die wahre Kraft von tmux noch nicht ausgeschöpft

Inhaltsverzeichnis

--Was ist tmux? --Starten und erstellen Sie eine neue Sitzung --Erstelle ein Fenster

Was ist tmux?

tmux wird als Terminal-Multiplexer bezeichnet. Dies ist am einfachsten, wenn Sie sich mit ssh an einer Arbeitsmaschine anmelden und diese bedienen oder wenn Sie mit einem umfangreichen Programm nach Hause gehen möchten, aber ohne Abschluss weiterarbeiten möchten. Dies ist ein Anwendungsfall.

Darüber hinaus kann tmux das Terminal aufwendig dekorieren, und es gibt verschiedene praktische Verwendungszwecke. Daher werde ich die tatsächliche Verwendung anhand einer GIF-Animationsaufnahme vorstellen.

Ebenso wie bei vim gibt es ein Moduskonzept und eine reservierte Schlüsselbindung namens Präfix. Sie können den Modus wechseln, indem Sie dies eingeben. Der Standardwert ist "Strg + B".

Starten und erstellen Sie eine neue Sitzung

Für Debian und Ubuntu können Sie es mit "sudo apt-get install tmux" installieren. Für MacOSX ist es "Brew Install tmux".

Wenn Sie es einfach starten, ist es ohne Argumente in Ordnung.

$ tmux

Wenn Sie eine Sitzung benennen, starten Sie sie mit den folgenden Optionen.

$ tmux new -s {Neuer Sitzungsname}

新規セッションの作成.gif

Erstellen Sie ein neues Fenster

Sie können ein neues Fenster erstellen, indem Sie während einer tmux-Sitzung "Strg + B" + "C" eingeben. Die durch das Präfix ersetzte Notation lautet "Präfix + c". Vielleicht ist die Bedeutung dieses c erstellen.

新規windowの作成.gif

Gehe zwischen den Fenstern hin und her

Sie können sich frei zwischen den erstellten Fenstern bewegen. Standardmäßig wird "Präfix + p" verwendet, um zum vorherigen Fenster zu gelangen (p ist vorher), und "Präfix + n" wird verwendet, um zum nächsten Fenster zu gelangen (n ist das nächste). ..

Da das Drücken des Präfixes teuer ist, habe ich die Tastenbelegung so angepasst, dass sie ohne Drücken des Präfixes aktiviert wird und dem nächsten Fenster "Shift + RightKey" und dem vorherigen Fenster "Shift + LeftKey" zugewiesen wird. ..

別のwindowへ切り替え.gif

Fenster teilen, um einen Bereich zu erstellen

Sie können das Fenster wie das Teilen von vim teilen und es kommt der Welt des Texteditors wie vim nicht nahe. Sie können also ein breites Terminal verwenden, z. B. das Öffnen von vim einerseits, das Öffnen von htop andererseits und das Ausführen eines Programms andererseits. Du kannst tun.

Ohne Schlüsselbindungseinstellungen kann es als "Präfix +" Split-Fenster -h "," Präfix + "Split-Fenster -v" usw. aufgeteilt werden.

Dies ist auch schwer einzugeben, daher binde ich es mit der Taste "Präfix +" - "", "Präfix +" | "", um die Bedienung zu vereinfachen.

windowをpaneに分割.gif

Gehen Sie zwischen den Scheiben hin und her

Standardmäßig ist das Verschieben eines Fensters eine komplexe Tastatur mit einem dazwischen liegenden Präfixbefehl. Sie kann jedoch auch ohne Präfix definiert werden.

Ich habe "Strg + Umschalt + Aufwärtsschlüssel", "Strg + Umschalt + Abwärtsschlüssel", "Strg + Umschalt + Rechtsschlüssel", "Strg + Umschalt + Linksschlüssel" zugewiesen, um Fenster zu verschieben, ohne das Präfix zu durchlaufen Es ist möglich, zwischen Fenstern zu wechseln. paneの切り替え.gif

Gehen Sie zwischen den Sitzungen hin und her

Eine Tastenkombination, die eine Auswahlliste von Sitzungen anzeigt, ist "Strg + t" zugewiesen. Wenn Sie diese Taste drücken, wird die Sitzungsliste wie in der folgenden Abbildung dargestellt angezeigt.

Sie können mit den Auf- und Ab-Tasten auswählen und durch Auswahl zu dieser Taste wechseln.

別のセッションへ切り替え.gif

[Anwendung] Leiten Sie den Anzeigeinhalt von tmux um

tmux ist ein virtuelles Terminal wie "/ dev / pts / {fooBar}", und dieses virtuelle Gerät wird für jeden Bereich erstellt. Mit anderen Worten, wenn "{fooBar}" identifiziert werden kann, kann der Inhalt eines bestimmten Bereichs X in stderr, stdout usw. unterteilt und in Bereich Y bzw. Bereich Z angezeigt werden.

Wenn Sie das Protokoll des erstellten Programms getrennt von stderr und stdout überprüfen oder in das virtuelle Terminal lesen und schreiben möchten, können Sie eine Spur wie das Operationsprotokoll hinterlassen.

[Anwendung] Zeigt den Zweignamen von git in der Leiste von tmux an

Dies ist ein Hack, bei dem Shell-Skripte und Python-Skripte aus der tmux-Konfigurationsdatei ".tmux.conf" gelesen werden können.

Benachrichtigungen in der Statusleiste können mit der folgenden Syntax definiert werden.

set-option -g status-right '#{host} #(tmux run-shell "tmux_hook --default true --git-path #{pane_current_path}")'  

# {host} ist der Hostname wie er ist, aber tmux run-shell führt ein beliebiges Skript aus und gibt seinen Rückgabewert an die Einstellungen der Statusleiste. Der Dateiname "tmux_hook" ist ein von mir erstelltes Skript, das die Zeit und den Namen des Git-Zweigs zurückgibt. Da er jedoch beispielsweise beliebige Textinformationen zurückgeben kann, kann er je nach Aufbau des Skripts auf meiner Twitter-Timeline angezeigt werden. Ist möglich.

Screenshot_20200719_194105.png

[Anwendung] Zeigt den aktuellen Betriebspfad an

In welchem Verzeichnis Sie sich befinden und in welchem Pfad Sie sich befinden, möchten Sie überprüfen, wenn Sie am Terminal basteln. Da ich den Befehl pwd nicht jedes Mal eingeben möchte, können Informationen an der Stelle des Trennrandes des Fensters angezeigt werden.

setw -g pane-border-format '#{pane_tty} | #{pane_current_path}'

Screenshot_20200719_203450.png (Die rechte Seite ist der Pfad, den Sie gerade bedienen.)

[Anwendung] Rufen Sie ein Snippet auf

Obwohl es sich um einen Sitzungsmanager mit einer Funktion zum Teilen des Terminals namens tmux handelt, kann er so etwas wie eine IDE (großartig) ausführen. Sie können "Send-Keys" in tmux einstellen und reservierte Zeichen in das Terminal eingeben, indem Sie eine bestimmte Tastenkombination eingeben.

Wenn Sie beispielsweise die folgenden Einstellungen haben, können Sie so etwas wie Python-Setup einfach durch Drücken von "Präfix + 1" durchführen. Wenn Sie dies anwenden, ist es für Wettkampfprofis verfügbar.

bind -T prefix -n 1 send-keys "import os\nimport sys\n"

スニペットを登録する.gif

Klicken Sie hier für ".tmux.conf" mit den obigen Einstellungen

tmux ist sehr subtil in der Versionskompatibilität

Es gibt einige Fälle, in denen ich es anhand der Literatur im Internet eingestellt habe, aber es funktioniert nicht. In diesem Fall ist mein tmux möglicherweise zu neu oder zu alt. Dieses Mal habe ich erwartet, dass tmux 2.8 oder höher die Konfiguration schreibt, aber wenn es nicht funktioniert, überprüfen Sie bitte Ihre eigene Umgebung. Um sich selbst zu debuggen, sollten Sie, wenn sich Ihr vorhandenes Schreiben ändert, "man tmux" lesen, da es das bisher solideste Dokument ist.

Ich habe auch auf YouTube gepostet

Es ist wirklich peinlich, aber ich mache es, um Konversation zu üben und Ausdrucksmethoden zu studieren. Wenn Sie die Benutzerfreundlichkeit von tmux im Videoformat sehen möchten, lesen Sie bitte die folgende URL. Wir würden uns freuen, wenn Sie den Kanal abonnieren könnten.

Recommended Posts

(Vielleicht) Sie haben die wahre Kraft von tmux noch nicht ausgeschöpft
Die Kraft der Pandas: Python
Die Leistungsfähigkeit von Kombinationsoptimierungslösern