Good by GNU Screen, welcome tmux

Nachdem ich gut 14 Jahre lang den terminal multiplexor GNU Screen verwendet habe (mit einem kurzem Abstecher Richtung tscreen), habe ich mich jetzt für tmux entschieden. Zum einen weil er schon im Base von OpenBSD enthalten ist und zum anderen weil er etliche Features besitzt, die ich bei GNU Screen erst vermisst habe, seit ich tmux kenne. Auf die - für mich - wichtigsten Features gehe ich mal kurz ein

  • Unterschiedliche Key-Layouts (vi/emacs)
  • Konfigurationsoptionen kann man nicht nur in der ~/.tmux.conf vorgeben, sondern auch direkt beim Start angeben: tmux rename-window -t 1 foobar würde z. B. den Titel von Window 1 auf foobar setzen.
  • Man hat mehrere Buffer für z. B. copy&paste zur Verfügung die man interaktiv auswählen kann
  • Die Syntax ist übersichtlicher. Also kein caption always "%{gk}host: (%{yk}%H%{gk}) | %{= kc}%?%-Lw%?%{= kY}%n*%f %t%?(%u)%?%{= kc}%?%+Lw%?" mehr, sondern ein set -g status-left "#[fg=green]host: (#[default]#[fg=yellow]#H#[default]#[fg=green]) | "
  • Die Statusbar ist per Default aktiviert, damit man nicht erst eine Konfigurationsdatei erstellen muss; ich habe schon öfters vergessen das GNU Screen schon läuft und ihn nochmal gestartet
  • Horizontales und vertikales Splitten der Fenster ist problemlos machbar und man kann ge'split'tete Fenster auch herauslösen
  • Man kann in den Fenstern suchen und muss nicht immer erst alle durchklicken weil man in einem der 23 Zsh-Fenster nach z. B. "foobar" suchen muss (C-b f foobar reicht und man kommt entweder direkt zu dem Fenster oder - wenn mehrere Fenster mit dem String "foobar" gefunden werden - zu einer interaktiver Auswahl
  • Man kann auch F1, F2, Fn - Keys an Programme binden a la: bind -n F7 run-shell 'cmus-remote --pause >/dev/null 2>&1'
  • Es gibt die Option monitor-activity, welche über Aktivitäten in einem Fenster benachrichtigt; selbstverständlich kann man die entweder komplett deaktivieren oder nur für bestimmte Fenster de-/aktivieren
  • Das Zuweisen von Keybindings ist generell sehr umfangreich: bind / command-prompt "split-window 'exec man %%'",bind-key u capture-pane ; save-buffer /tmp/tmux-buffer ; run-shell "$TERMINAL -e 'cat /tmp/tmux-buffer | urlview'" (von ArchWiki)

Es gibt sicher noch weit mehr Features die in dieser Auflistung fehlen, aber wenn ich hier auf alle eingehe, dann bin ich morgen noch mit Schreiben beschäftigt. GNU Screen - User sollten keine Probleme mit tmux haben, da beide nach dem gleichen Prinzip bedient werden. Tastenkombinationen! Bei Interesse werde ich mal ein Tutorial dazu schreiben.

For comments, please send me an email