21x9.org | System Administration | Home Automation | Smart Home
26.05.2024

tmux mit Zwischenablage und Plugins

Mit tmux1 verbindet mich eine jahrelange Hassliebe. Auf der einen Seite ist tmux wirklich ein schweizer Taschenmesser und kann tolle Dinge, auf der anderen Seite finde ich das tmux-Ökosystem schwer durchschaubar und die Vielzahl von Tastenkombinationen und Konfigurationseinstellungen tut ihr übriges. Am meisten hat mich aber immer das Copy & Paste Verhalten gestört.

Aber wie so oft muss man halt einmal tief tauchen und dann lichtet sich der Dschungel auch schon.

tmux selbst kann natürlich einfach mit apt install tmux installiert und mit tmux gestartet werden. Und es ist auch so schon ein guter Ersatz für screen und andere Anwendungen. Aber wirklich schön wird tmux erst mit Plugins2 (und Powerline3, dazu aber irgendwann einmal mehr).

Für die Installation und Verwaltung von Plugins bietet sich der tmux plugin manager (tpm)4 an. Um die gewünschten Plugins einzubinden, trägt man diese einfach in ~/.tmux.conf ein:

# Install plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-pain-control'
set -g @plugin 'tmux-plugins/tmux-copycat'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-urlview'
set -g @plugin 'tmux-plugins/tmux-logging'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'jaclu/tmux-menus'
set -g @plugin 'erikw/tmux-powerline'
set -g @plugin 'MunifTanjim/tmux-mode-indicator'
set -g @plugin 'MunifTanjim/tmux-suspend'

Eventuell muss man bei der Reihenfolge der Plugins ein wenig aufpassen, entsprechende Hinweise finden sich dann aber meist in den README-Dateien zu den jeweiligen Plugins. Nach jeder Änderung an der .tmux.conf muss diese entweder mittels source .tmux.conf neu eingelesen oder der tmux-Server mittels tmux kill-server beendet und danach neu gestartet werden.

Die Installation der Plugins kann dann mittels /usr/share/tmux-plugin-manager/bin/install_plugins all oder die Tastenkombination Strg + b gefolgt von Umschalt + i erfolgen. Wer gerne einen anderen Auslöser als Strg + b nutzen möchte, kann folgendes in die .tmux.conf eintragen:

# remap prefix from 'C-b' to 'C-y'
unbind C-b
set-option -g prefix C-y
bind-key C-y send-prefix

Das große C steht dabei für Strg bzw. Ctrl.

Um die Arbeit mit tmux möglichst angenehm zu gestalten kann auch noch die Kontrolle mittels Maus aktiviert werden:

set -g mouse on

Nun können verschiedene Elemente der tmux Oberfläche mit der Maus bedient werden. Außerdem ist es möglich Text mittels Maus zu markieren. Allerdings funktioniert das Kopieren unter tmux anders. Um das normale Copy & Paste Verhalten zu nutzen, kann man während man den Text mit der Maus markiert Umschalt gedrückt halten. Dies kollidiert jedoch mit einem anderen tmux Feature. Man kann in tmux nämlich sog. Panes5 nutzen. Hierzu betätigt man zunächst die prefix Tastenkombination und dann Umschalt + " bzw. Umschalt + % um die tmux Oberfläche entweder horizontal oder vertikal immer weiter zu unterteilen. Hat man nun zwei Panes nebeneinander und nutzt die Markierfunktion mit der Maus und Umschalt wird der Text über Panegrenzen hinweg markiert, was in den seltensten Fällen gewünscht sein dürfte.

Mit dem Plugin yank sowie folgenden Zeilen in der .tmux.conf kann man dies jedoch beheben:

# Fix copy
set -g @yank_action 'copy-pipe-no-clear'
bind -T copy-mode    C-c send -X copy-pipe-no-clear "xsel -i --clipboard"
bind -T copy-mode-vi C-c send -X copy-pipe-no-clear "xsel -i --clipboard"

Markiert man nun einen Text wie gewohnt mit der Maus (ohne Umschalt-Taste), wird dieser innerhalb von Panegrenzen markiert. Mit Strg + C kann er kopiert werden. Mit ESC kann man den Copy-Modus wieder verlassen.


  1. https://github.com/tmux/tmux/wiki ↩

  2. https://github.com/tmux-plugins ↩

  3. https://github.com/erikw/tmux-powerline ↩

  4. https://github.com/tmux-plugins/tpm ↩

  5. https://tmuxcheatsheet.com/#Panes ↩

Tags: tmux

Tags

tmux

Archiv

  • Mar 2025 (2)
  • May 2024 (2)
  • Oct 2023 (1)
  • Aug 2023 (5)
  • Jul 2023 (31)

  • Ältere Einträge (95)

Feeds

Atom 1.0 RSS JSON
  • Datenschutz
  • Impressum
  • Archiv