User Tools

Site Tools


pages:cheatsheets:tmux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pages:cheatsheets:tmux [2021/01/26 17:03] rokkitlawnchairpages:cheatsheets:tmux [2023/05/03 13:59] (current) – [Links] mischerh
Line 2: Line 2:
 ====== tmux ====== ====== tmux ======
  
-Angelegt Mittwoch 26 Juli 2017+{{ :pages:cheatsheets:tmux-logo-medium.png?nolink |tmux logo}}
  
 ===== Quellen ===== ===== Quellen =====
   * https://wiki.ubuntuusers.de/tmux/   * https://wiki.ubuntuusers.de/tmux/
   * http://www.pro-linux.de/artikel/2/1691/tmux-das-kung-fu-der-terminal-ninjas.html   * http://www.pro-linux.de/artikel/2/1691/tmux-das-kung-fu-der-terminal-ninjas.html
 +  * https://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/
 +  * https://www.runrails.com/tmux/scrolling-in-tmux/
 +  * https://www.seanh.cc/2020/12/27/copy-and-paste-in-tmux/
 +  * https://github.com/tmux-plugins/tpm
 +  * https://github.com/tmux-plugins/tmux-yank
 +  * https://www.golinuxcloud.com/tmux-commands/
 +
 +===== Links =====
 +  * [[https://github.com/tmux/tmux/wiki| tmux Wiki]]
 +  * [[https://github.com/tmux/tmux/| tmux Github Repository]]
 +  * [[https://man.openbsd.org/tmux| tmux man page]]
 +  * [[https://superuser.com/questions/209437/how-do-i-scroll-in-tmux | How do i scroll in tmux]] - hint <key>CTRL+b</key> - <key>[</key>
  
 ===== Beschreibung ===== ===== Beschreibung =====
-tmux ist ein sog. terminal multiplexer vergleichbar mit GNU Screen, nur komfortabler zu bedienen und um einiges umfangreicher. Der Sinn eines solchen Programmes ist zum einen derdas man verschiedene Shell-Sessions öffnen kann wenn man zB. nur ein Terminal zur Verfügung hat oder wenn man via SSH eingeloggt ist und das gestartete Programm nach dem ausloggen weiterlaufen und später wieder verwendet werden soll.  +//tmux// ist ein sog. terminal multiplexervergleichbar mit [[https://www.gnu.org/software/screen/|GNU Screen]], nur komfortabler zu bedienen und um einiges umfangreicher. //tmux// dient dazudass man mehrere Shell-Sessions innerhalb eines einzigen Terminals öffnen kann. Es ermöglicht außerdem, dass gestartete Programme auch nach dem Ausloggen weiter laufen und man sich beim nächsten Einloggen wieder mit der Session verbinden kann, in der die Programme laufen.
- +
-===== Bedienung und Tastenkombinationen ===== +
-tmux wird fast ausschließlich über verschiedene Tastenkombinationen gesteuert. Per Default ist das <key>CTRL</key> + <key>b</key>. Das bedeutet Control (also STRG) drücken, b drücken, loslassen und dann den Keycode senden. Wenn man beispielsweise eine weitere Shell starten will, erreicht man das mit dem Drücken der Tasten <key>CTRL</key> + <key>b</key>, loslassen und <key>c</key>. Zwischen den beiden Shells kann man dann mit <key>CTRL</key> + <key>b</key> und <key>l</key> (für last) oder <key>n</key> (für next).  +
- +
-===== Sessionverwaltung ===== +
-  * **new session:** <code>:new</code> <key>CR</key>“ +
-  * **list sessions:** <key>s</key> +
-  * **name session:** <key>$</key>  +
- +
-Windowverwaltung (Tabs) +
-  * **create window:** <key>c</key> +
-  * **list windows:** <key>w</key> +
-  * **next window:** <key>n</key> +
-  * **previous window** <key>p</key> +
-  * **kill window** <key>&</key> +
- +
- +
-===== Ausgewählte Tastaturkürzel (Shortcuts) ===== +
- +
-Das Programm kann ausschließlich über Tastenkombinationen (engl.: "shortcuts") bedient werden. Die Kommandosequenz wird standardmäßig mit <key>CTRL</key> + <key>b</key> eingeleitet, die jeweils folgende Eingabe wird als weiteres Kürzel interpretiert. +
- +
-^ Tastaturkürzel      ^ Aktion                                             ^ +
-| <key>?</key>        | Anzeige aller aktiven Tastaturkürzel (keybindings) | +
-| <key>d</key>        | (detach) Trennen der akt. Sitzung (Client) und in den Hintergrund verschieben | +
-| <key>s</key>        | (switch) Wechseln zwischen verschiedenen Sitzungen (Client)                   | +
-| <key>c</key>        | (create) Erzeugen eines neuen Fensters (Shell)                                |                             +
-| <key>&</key>        | Beenden der aktuellen Fensters, muss mit y bestätigt werden                   | +
-| <key>,</key>        | Umbenennen des aktuellen Fenstertitels                                        | +
-| l                   | (last) Wechseln zum letzten aktiven Fenster (ist durch - markiert)                                                        +
-| p                   | (previous) Wechsel zum vorherigen Fenster (z.B. von 3 nach 2)                                                             +
-| n                   | (next) Wechsel zum nächsten Fenster                                                                                      | 1                   | etc.  Wechsel zur Fenster-Nr.                                                                                            | "                   | Aktuelle Fensterscheibe (pane) horizontal teilen (erzeugt weitere Fensterscheiben)                                       | %                   | Aktuelle Fensterscheibe (pane) vertikal teilen (erzeugt weitere Fensterscheiben)                                         | w                   | Liste der Fenster anzeigen, Fenster wechseln                                                                             | $                   Session umbenennen                                                                                                       |<key>LEFTARROW</key>,<key>RIGHTARROW</key> | Die aktive Fensterscheibe (pane) wechseln                                                                                | <key>SPACE</key>    | Wechsel zwischen verschiedenen Aufteilungen der Fensterscheibe (pane)                                                    | <key>!</key>        | Die aktuelle Fensterscheibe (pane) aus dem Fenster lösen und ein neues Fenster mit dieser Fensterscheibe erstellen       | +
-| <key>[</key>        | Scroll-Modus aktivieren, in dem Pfeiltasten zum Scrollen benutzt werden können                                           | {{:tools:graphics:mc22x25-l.png?nolink|left mouse button pressed}} + <key>⇧</key> | Für den Kopiermodus mit der Maus (mouse-mode), wenn auch mouse-select-pane und/oder mouse-select-window verwendet werden | +
- +
- +
- +
- +
- +
- +
-Christians Notizen +
------------------- +
-Das Programm tmux ist ein Terminal-Multiplexer, der laufende Terminal-Programme von der Sitzung trennen und an andere Sitzungen wieder anhängen kann, sodass diese währenddessen im Hintergrund weiterlaufen. +
- +
-### Aufruf +
- +
-#### Zeige die Übersicht aller Sessions +
- Strg+b, dann s +
- +
- +
-#### Erzeugen einer neuen Session +
- tmux new +
- +
- +
-#### An eine Session anhängen +
- tmux attach +
- +
- +
-### Von einer Session abhängen +
-man landet in der Shell, die man vor tmux gestartet hatte  +
- Strg+b, dann d +
- +
- +
-### Session beenden +
-alle Windows beenden  +
- exit oder logout oder Strg+d +
- +
- +
-### Erzeugen eines neuen Window innerhalb einer Session +
- Strg+b, dann c +
- +
- +
-### Wechsel zum vorherigen Window +
- Strg+b, dann l (L) +
- +
- +
-### Wechsel zum Window 0, 1, 2, ... +
- Strg+b, dann 0, 1, 2, ... +
  
-### Zeige die Übersicht aller Windows innerhalb einer Session +===== Bedienung ===== 
- Strg+b, dann w+//tmux// wird fast ausschließlich per Tastenkombinationen gesteuert. Um in den Kommandomodus zu wechseln drückt man <key>CTRL+b</key> und anschließend dann eine weitere Tastedie ein Kommando ausführt. Wenn z. B. eine weitere Shell gestartet werden soll, erreicht man das mit <key>CTRL+b</key> - <key>c</key>. Zwischen den beiden Shells kann dann mit <key>CTRL+b</key> - <key>l</key> (für last) oder <key>n</key> (für next) wechseln. 
  
 +^ Auf der Shell  ||
 +^ Shell Kommando  ^ Aktion  ^
 +|  <sxh bash; gutter: false>tmux</sxh>  | Startet den //tmux// server und erzeugt eine neue //tmux// Session im client. |
 +|  <sxh bash; gutter: false>tmux attach</sxh>  | verbindet zu einer bestehenden //tmux// Session |
 +|     ||
 +^ Sessionverwaltung ||
 +^ tmux Kommando  ^ Aktion  ^
 +|  <sxh bash; gutter: false>:new</sxh>  | erzeugt eine neue //tmux// Session |
 +^ Taste  ^ Aktion  ^
 +|  <key>s</key> (switch)  |  Anzeige und Wechsel zwischen bestehenden //tmux// Sessions |
 +|  <key>$</key>  | aktuelle //tmux// Session umbenennen |
 +|  <key>d</key> (detach)  | Trennt von der aktuellen //tmux// Session und verschiebt diese in den Hintergrund  |
 +|    ||
 +^ Fensterverwaltung (Tabs) ||
 +^ tmux Kommando  ^ Aktion  ^
 +|  <sxh bash; gutter: false>:rename-window <FENSTERNAME></sxh>  | Benennt das aktuelle Fenster um. Man muss sich dazu im umzubenennenden Fenster befinden.  |
 +|  <sxh bash; gutter: false>:kill-window -t <FENSTERNUMMER></sxh>  | Schließt das Fenster mit der angegebenen Nummer.  |
 +^ Taste  ^ Aktion  ^
 +|   <key>c</key> (create)  | Erzeugen eines neuen Fensters (Shell)                                |                            
 +|   <key>w</key>        | Liste der Fenster anzeigen, Fenster wechseln  |
 +|   <key>n</key> (next)   | Wechsel zum nächsten Fenster |
 +|   <key>p</key> (previous)  |  Wechsel zum vorherigen Fenster (z.B. von 3 nach 2) |
 +|   <key>l</key> (last)   | Wechseln zum letzten aktiven Fenster (ist durch - markiert) | 
 +|   <key>,</key>        | Umbenennen des aktuellen Fensters                                        |
 +|   <key>1</key>        | 1, 2, 3 etc. Wechsel zur Fenster-Nr. |
 +|   <key>&</key>        | Beendet das aktuelle Fenster. Muss mit <key>y</key> bestätigt werden.    |
 +|     ||
 +^ Panelverwaltung (Teilen von Fenstern) ||
 +^ Taste  ^ Aktion  ^
 +|   <key>"</key>        | Aktuelle Fensterscheibe (Panel) horizontal teilen (erzeugt ein weiteres Panel) |
 +|   <key>%</key>        | Aktuelle Fensterscheibe (Panel) vertikal teilen (erzeugt ein weiteres Panel) |
 +|   <key>⇦</key>,<key>⇨</key>, <key>⇩</key>, <key>⇧</key>  | Die aktive Fensterscheibe (Panel) wechseln |
 +|   <key>!</key>        | Die aktuelle Fensterscheibe (Panel) aus dem Fenster lösen und ein neues Fenster mit dieser Fensterscheibe erstellen |
 +|   <key>SPACE</key>    | Wechsel zwischen verschiedenen Aufteilungen der Fensterscheibe (Panels) |
 +|     ||
 +^ Maus  ||
 +^ tmux Kommando  ^ Aktion  ^
 +|  <sxh bash; gutter: false>:set -g mouse on</sxh>  | Aktiviert die Maus.  |
 +^ key / command  ^ Aktion  ^
 +|   {{:tools:graphics:mc22x25-l.png?nolink|left mouse button pressed}} + <key>⇧</key>  | Für den Kopiermodus mit der Maus (mouse-mode), wenn auch mouse-select-pane und/oder mouse-select-window verwendet werden |
 +|     ||
 +^ Weitere Kommandos  ||
 +^ key / command  ^ Aktion  ^
 +|   <key>?</key>        | Anzeige aller aktiven Tastaturkürzel (keybindings) |
 +|   <key>[</key>        | Scroll-Modus aktivieren, in dem Pfeiltasten zum Scrollen benutzt werden können. Der Scroll-Modus kann mit <key>q</key> beendet werden. |
  
-### Window umbenennen +===== Installation und tmux.conf ===== 
-man muss sich im umzubenennenden Window befinden  +This config file is 99% the work of my (soon) former colleague S. Wurm. 
- Strg+bdann :rename-window WINDOWNAME+<sxh bashgutterfalse> 
 +apt install tmux tmux-plugin-manager 
 +vim ~/.tmux.conf</sxh> 
 +<sxh bash; title: ~/.tmux.conf> 
 +# reload config file (change file location to your the tmux.conf you want to use) 
 +bind r source-file ~/.tmux.conf
  
 +set -g assume-paste-time 1
 +set -g base-index 0
 +#set -g bell-on-alert off
 +set -g default-command ""
 +set -g default-shell "/bin/bash"
 +set -g default-terminal "screen-256color"
 +set -g destroy-unattached off
 +set -g detach-on-destroy on
 +set -g display-panes-active-colour red
 +set -g display-panes-colour blue
 +set -g display-panes-time 1000
 +set -g display-time 750
 +set -g history-limit 2000
 +set -g key-table "root"
 +set -g lock-after-time 0
 +set -g lock-command "lock -np"
 +set -g message-command-style fg=yellow,bg=black
 +set -g message-style fg=black,bg=yellow
 +set -g mode-keys vi
 +set -g mouse off
 +set -g prefix C-b
 +set -g prefix2 None
 +set -g renumber-windows off
 +set -g repeat-time 500
 +#set -g set-remain-on-exit off
 +set -g set-titles on
 +set -g set-titles-string "#S:#I:#W - "#T" #{session_alerts}"
  
-### Windows beenden +Status Style (default) 
- exit oder logout oder Strg+d+#set -g status on 
 +#set -g status-interval 15 
 +#set -g status-justify left 
 +#set -g status-keys vi 
 +#set -g status-left "[#S] " 
 +#set -g status-left-length 20 
 +#set -g status-left-style default 
 +#set -g status-position bottom 
 +#set -g status-right " "#{=21:pane_title}" %H:%M %d-%b-%y" 
 +#set -g status-right-length 40 
 +#set -g status-right-style default 
 +#set -g status-style fg=black,bg=green
  
 +# Status Style (wurmobil)
 +set -g pane-active-border-style fg=green,bg=black
 +set -g pane-border-style fg=white,bg=black
 +set -g message-style fg=black,bg=green
 +set -g window-status-style bg=black
 +set -g window-status-current-style fg=green
 +set -g window-status-activity-style fg=yellow
 +set -g status-justify left
 +set -g status-style bg=black,fg=white
 +set -g status-left '#[fg=yellow]#S #[fg=green]][#[default] '
 +set -g status-left-length 40
 +# this one draws the window title in the status bar, but eats up a lot of space
 +set -g status-right ' #[fg=green]][ #[fg=blue]%Y-%m-%d #[fg=white]%H:%M#[default]'
  
-### Pane innerhalb eines Window erzeugen+set -g update-environment "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"
  
-#### horizontal unterteilt +don't rename windows automatically 
- Strg+b, dann "+#set-option -g allow-rename off
  
 +# Activity Monitor
 +set -g monitor-activity on
 +set -g activity-action none
 +set -g visual-activity off
 +set -g visual-bell off
 +set -g visual-silence off
 +set -g word-separators " -_@"
 +set -g bell-action none
  
-#### vertikal unterteilt +Tmux Plugin Manager configuration
- Strg+b, dann %+
  
 +# List of plugins
 +set -g @plugin 'tmux-plugins/tpm'
 +set -g @plugin 'tmux-plugins/tmux-sensible'
 +set -g @plugin 'tmux-plugins/tmux-resurrect'
  
-### Scrollen in tmux +Other examples: 
- Strg+b, dann [ +set -g @plugin 'github_username/plugin_name' 
- zum Verlassen q+set -g @plugin 'git@github.com/user/plugin' 
 +# set -g @plugin 'git@bitbucket.com/user/plugin'
  
 +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
 +run '~/.tmux/plugins/tpm/tpm'
  
-### Window killen +source /usr/share/tmux/powerline.conf 
- Strg+b, dann : kill-window -t window-number+</sxh>
  
 +Um Plugins zu installieren/deinstallieren:
 +<sxh bash; gutter: false>
 +/usr/share/tmux-plugin-manager/bin/install_plugins
 +/usr/share/tmux-plugin-manager/bin/clean_plugins
 +</sxh>
pages/cheatsheets/tmux.1611680584.txt.gz · Last modified: 2021/01/26 17:03 by rokkitlawnchair