Difference between revisions of "Tmux"

From HackerNet
Jump to: navigation, search
 
(6 intermediate revisions by the same user not shown)
Line 31: Line 31:
  
 
= Keybinds =
 
= Keybinds =
Default prefix för tmux är <code>CTRL + B + [Keybind]</code>
+
Default prefix för tmux är {{key press|Ctrl|b}}.
  
<code>c</code> - Skapa ett nytt fönster.
+
{{ombox
 +
|nocat=true
 +
| type  = notice
 +
| text  = Tänk på att tmux är case-sensitive.
 +
}}
  
<code>n/p</code> - Gå till nästa eller föregående fönster.
+
{{key press|Ctrl|b|c}} - Skapa ett nytt fönster.
  
<code>0-9</code> - Byt fönster.
+
{{key press|Ctrl|b|n/p}} - Gå till nästa eller föregående fönster.
  
<code>w</code> - Meny med alla fönster.
+
{{key press|Ctrl|b|0-9}} - Byt fönster.
  
<code>&</code> - Stäng ett fönster.
+
{{key press|Ctrl|b|w}} - Meny med alla fönster.
  
<code>,</code> - Byt namn på ett fönster.
+
{{key press|Ctrl|b|&}} - Stäng ett fönster.
  
 +
{{key press|Ctrl|b|,}} - Byt namn på ett fönster.
  
  
<code>"</code> - Splitta fönster horisontellt.
 
  
<code>%</code> - Splitta fönster vertikalt.
+
{{key press|Ctrl|b|shift|2}} - Splitta fönster horisontellt.
  
<code>Left,down,right,up</code> - För att hoppa imellan paneler.
+
{{key press|Ctrl|b|shift|5}} - Splitta fönster vertikalt.
  
<code>x</code> - Stäng den aktiva panelen.
+
{{key press|Ctrl|b|Left|Down|Right|Up}} - För att hoppa imellan paneler.
  
<code>!</code> - Skapa ett nytt fönster med en panel.
+
{{key press|Ctrl|b|x}} - Stäng den aktiva panelen.
  
<code>z</code> - Zooma in ett fönster.
+
{{key press|Ctrl|b|shift|1}} - Skapa ett nytt fönster med den aktiva panelen.
  
 +
{{key press|Ctrl|b|z}} - Zooma in ett fönster.
  
<code>[</code> - Copy läge.
 
* <code>CTRL-SPACE</code> För att börja markera text.
 
* <code>ALT-w</code> För att kopiera markerad text.
 
  
<code>]</code> - Paste kopierad text.
+
{{key press|Ctrl|b|alt|8}} - Copy läge.
 +
* {{key press|Ctrl|space}} - För att börja markera text i copy läget.
 +
* {{key press|alt|w}} För att kopiera den markerade texten.
  
 +
{{key press|Ctrl|b|alt|9}} - Klistra in den kopierade texten.
  
<code>d</code> - För att deattacha en session.
 
  
<code>page up/down</code> - För att scrolla upp och ner.
+
{{key press|Ctrl|b|d}} - För att deattacha en session.
 +
 
 +
{{key press|Ctrl|b|page up}} - För att scrolla upp och ner.
  
 
= Tmux Plugin Manager =
 
= Tmux Plugin Manager =
Line 105: Line 111:
  
 
==Bra plugins==
 
==Bra plugins==
[https://github.com/tmux-plugins/tmux-sensible| Sensible] - Ett gäng inställningar som man bör ha.
+
[https://github.com/tmux-plugins/tmux-sensible Sensible] - Ett gäng inställningar som man bör ha.
  
[https://github.com/tmux-plugins/tmux-resurrect| Resurrect] - Spara din nuvarande Tmux session.
+
[https://github.com/tmux-plugins/tmux-resurrect Resurrect] - Spara din nuvarande Tmux session.
  
[https://github.com/tmux-plugins/tmux-continuum| Continuum] - Autosparar din nuvarande Tmux session.(Kräver resurrect)
+
[https://github.com/tmux-plugins/tmux-continuum Continuum] - Autosparar din nuvarande Tmux session.(Kräver resurrect)
  
[https://github.com/tmux-plugins/tmux-sidebar| Sidebar] - Öppnar en tree liknande sidebar.
+
[https://github.com/tmux-plugins/tmux-sidebar Sidebar] - Öppnar en tree liknande sidebar.
  
[https://github.com/tmux-plugins/vim-tmux| Vim-tmux] - Fixar visa saker i vim som inte funkar så bra annars.
+
[https://github.com/tmux-plugins/vim-tmux Vim-tmux] - Fixar visa saker i vim som inte funkar så bra annars.
  
 +
[https://github.com/tmux-plugins/tmux-logging tmux-logging] - Toggla av/på för att logga en pane till textfil, "screencapture" på en pane, eller spara all historik i en pane till textfil.
  
 
=Auto attach=
 
=Auto attach=
Line 134: Line 141:
 
====För att skriva till alla panes samtidigt.====
 
====För att skriva till alla panes samtidigt.====
 
  :setw synchronize-panes
 
  :setw synchronize-panes
 +
====Clear-history====
 +
:clear-history
 +
Eller binda det till {{key press|Ctrl|K}}
 +
bind -n C-k clear-history
  
 
====Problem att piltangenterna inte fungerar?====
 
====Problem att piltangenterna inte fungerar?====
 
Upptäckte problemet när jag var ansluten till senare versioner av [[Juniper_JunOS|JunOS]]. Att jag var tvungen att skriva om alla kommandon igen för att jag inte kunde trycka fram det senast körda kommandona. Efter att ha lagt till följande i min '''.tmux.conf''' fil så fungera det igen.
 
Upptäckte problemet när jag var ansluten till senare versioner av [[Juniper_JunOS|JunOS]]. Att jag var tvungen att skriva om alla kommandon igen för att jag inte kunde trycka fram det senast körda kommandona. Efter att ha lagt till följande i min '''.tmux.conf''' fil så fungera det igen.
 
  set -g default-terminal "xterm-256color"
 
  set -g default-terminal "xterm-256color"
 +
 +
====Byt pane snabbt utan prefix====
 +
Lägg till följande i din tmux.conf för att kunna byta pane med {{key press|ALT|Left|Down|Right|Up}}.
 +
bind -n M-Left select-pane -L
 +
bind -n M-Right select-pane -R
 +
bind -n M-Up select-pane -U
 +
bind -n M-Down select-pane -D
 +
====Byt window utan prefix====
 +
Lägg till följande för att byta window med {{key press|Shift|Left|Right}}
 +
bind -n S-Left  previous-window
 +
bind -n S-Right next-window
  
 
[[Category:Tools]]
 
[[Category:Tools]]

Latest revision as of 16:29, 25 September 2019

Tmux är en terminal multiplexer precis som screen. En fördel med att använda terminal multiplexers är att du inte tappar dina shell fönster om du skulle tappa anslutningen eller vill fortsätta jobbet på en annan dator.

Installation

Tmux är enkelt att installera och finns redan färdig packat i dom flesta distars repos.

Debian baserade

apt-get install tmux

RHEL baserade

yum install epel-release
yum install tmux

Kommandon

Starta tmux,

tmux

Lista tmux sessioner,

tmux ls

Attach till en session

tmux attach

Attach till en session och detach andra som är anslutna till samma session.

tmux attach -d

Attach till en session om man har flera igång.(Byt # mot siffra)

tmux a -t #

Stäng en session(Byt # mot en siffra)

tmux kill-session -t #

Keybinds

Default prefix för tmux är Ctrl+b.

Ctrl+b+c - Skapa ett nytt fönster.

Ctrl+b+n/p - Gå till nästa eller föregående fönster.

Ctrl+b+0-9 - Byt fönster.

Ctrl+b+w - Meny med alla fönster.

Ctrl+b+& - Stäng ett fönster.

Ctrl+b+, - Byt namn på ett fönster.


Ctrl+b+⇧ Shift+2 - Splitta fönster horisontellt.

Ctrl+b+⇧ Shift+5 - Splitta fönster vertikalt.

Ctrl+b++++ - För att hoppa imellan paneler.

Ctrl+b+x - Stäng den aktiva panelen.

Ctrl+b+⇧ Shift+1 - Skapa ett nytt fönster med den aktiva panelen.

Ctrl+b+z - Zooma in ett fönster.


Ctrl+b+alt+8 - Copy läge.

  • Ctrl+space - För att börja markera text i copy läget.
  • alt+w För att kopiera den markerade texten.

Ctrl+b+alt+9 - Klistra in den kopierade texten.


Ctrl+b+d - För att deattacha en session.

Ctrl+b+page up - För att scrolla upp och ner.

Tmux Plugin Manager

Kräver version 1.9 eller högre. Plugins som gör ditt Tmux fönster lite trevligare.

Installera

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Skapa filen .tmux.conf i din home folder.

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'

# Other examples:
# set -g @plugin 'github_username/plugin_name'
# 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'

Ladda sedan TPM genom att starta om din tmux session eller ladda om confen med.

tmux source ~/.tmux.conf

Lägga till plugins

Plugins finns på TPM's Github

Lägg sedan till pluginet i .tmux.conf med kommandot set -g @plugin '...'

Öppna sedan Tmux och tryck för att installera.

prefix + I

Ta bort plugin genom att ta bort raden kommentera ut den i .tmux.conf och tryck.

prefix + alt + u

Bra plugins

Sensible - Ett gäng inställningar som man bör ha.

Resurrect - Spara din nuvarande Tmux session.

Continuum - Autosparar din nuvarande Tmux session.(Kräver resurrect)

Sidebar - Öppnar en tree liknande sidebar.

Vim-tmux - Fixar visa saker i vim som inte funkar så bra annars.

tmux-logging - Toggla av/på för att logga en pane till textfil, "screencapture" på en pane, eller spara all historik i en pane till textfil.

Auto attach

Lägg detta i din .bashrc för att automatiskt starta tmux och attacha till en session vid inloggning.

if  -z "$TMUX" ; then
   tmux has-session &> /dev/null
   if [ $? -eq 1 ]; then
     exec tmux new
     exit
   else
     exec tmux attach
     exit
   fi
fi

Tips'n'trix

För att skriva till alla panes samtidigt.

:setw synchronize-panes

Clear-history

:clear-history

Eller binda det till Ctrl+K

bind -n C-k clear-history

Problem att piltangenterna inte fungerar?

Upptäckte problemet när jag var ansluten till senare versioner av JunOS. Att jag var tvungen att skriva om alla kommandon igen för att jag inte kunde trycka fram det senast körda kommandona. Efter att ha lagt till följande i min .tmux.conf fil så fungera det igen.

set -g default-terminal "xterm-256color"

Byt pane snabbt utan prefix

Lägg till följande i din tmux.conf för att kunna byta pane med ALT++++.

bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

Byt window utan prefix

Lägg till följande för att byta window med ⇧ Shift++

bind -n S-Left  previous-window
bind -n S-Right next-window