Difference between revisions of "Tmux"
m (→Bra plugins) |
|||
(23 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
= Installation = | = Installation = | ||
− | + | Tmux är enkelt att installera och finns redan färdig packat i dom flesta distars repos. | |
+ | |||
+ | '''Debian baserade''' | ||
apt-get install tmux | apt-get install tmux | ||
+ | '''RHEL baserade''' | ||
+ | yum install epel-release | ||
+ | yum install tmux | ||
= Kommandon = | = Kommandon = | ||
Line 13: | Line 18: | ||
tmux ls | tmux ls | ||
− | + | Attach till en session | |
tmux attach | 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 = | = Keybinds = | ||
− | Default prefix för tmux är <code> | + | Default prefix för tmux är {{key press|Ctrl|b}}. |
+ | |||
+ | {{ombox | ||
+ | |nocat=true | ||
+ | | type = notice | ||
+ | | text = Tänk på att tmux är case-sensitive. | ||
+ | }} | ||
+ | |||
+ | {{key press|Ctrl|b|c}} - Skapa ett nytt fönster. | ||
+ | |||
+ | {{key press|Ctrl|b|n/p}} - Gå till nästa eller föregående fönster. | ||
+ | |||
+ | {{key press|Ctrl|b|0-9}} - Byt fönster. | ||
+ | |||
+ | {{key press|Ctrl|b|w}} - Meny med alla fönster. | ||
+ | |||
+ | {{key press|Ctrl|b|&}} - Stäng ett fönster. | ||
+ | |||
+ | {{key press|Ctrl|b|,}} - Byt namn på ett fönster. | ||
+ | |||
+ | |||
+ | |||
+ | {{key press|Ctrl|b|shift|2}} - Splitta fönster horisontellt. | ||
+ | |||
+ | {{key press|Ctrl|b|shift|5}} - Splitta fönster vertikalt. | ||
+ | |||
+ | {{key press|Ctrl|b|Left|Down|Right|Up}} - För att hoppa imellan paneler. | ||
+ | |||
+ | {{key press|Ctrl|b|x}} - Stäng den aktiva panelen. | ||
+ | |||
+ | {{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. | ||
+ | |||
+ | |||
+ | {{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. | ||
+ | |||
+ | |||
+ | {{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 = | ||
+ | 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 <code>.tmux.conf</code> 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å [https://github.com/tmux-plugins TPM's Github] | ||
+ | |||
+ | Lägg sedan till pluginet i <code>.tmux.conf</code> med kommandot <code>set -g @plugin '...'</code> | ||
+ | |||
+ | Öppna sedan Tmux och tryck för att installera. | ||
+ | prefix + I | ||
+ | |||
+ | Ta bort plugin genom att ta bort raden kommentera ut den i <code>.tmux.conf</code> och tryck. | ||
+ | prefix + alt + u | ||
+ | |||
+ | ==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-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-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/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. | |
− | <code> | + | =Auto attach= |
+ | Lägg detta i din <code>.bashrc</code> för att automatiskt starta tmux och attacha till en session vid inloggning. | ||
+ | <syntaxhighlight lang=bash> | ||
+ | if -z "$TMUX" ; then | ||
+ | tmux has-session &> /dev/null | ||
+ | if [ $? -eq 1 ]; then | ||
+ | exec tmux new | ||
+ | exit | ||
+ | else | ||
+ | exec tmux attach | ||
+ | exit | ||
+ | fi | ||
+ | fi | ||
+ | </syntaxhighlight> | ||
− | + | =Tips'n'trix= | |
+ | ====För att skriva till alla panes samtidigt.==== | ||
+ | :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?==== | |
+ | 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" | ||
− | + | ====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]] |
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.
Tänk på att tmux är case-sensitive. |
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