Tmux als terminal multiplexer gebruiken
Op deze pagina:
Met Tmux kun je in één venster meerdere terminals open hebben.
Een Tmux sessie is een workspace of project werk omgeving. Een sessie kan meerdere vensters hebben die zich gedragen als tekstuele virtuele bureaubladen. Ieder venster kan weer meerdere 'panes' hebben. In iedere 'pane' draait een terminal.
Tmux’s configuratie staat in ~/.tmux.conf. Als je Tmux net hebt geinstalleerd, dan moet je dit bestand zelf aanmaken.Het is handig om de opdrachtprefixtoets die standaard op Ctrl-B staat, om te zetten naar Ctrl-A. De B-toets zit namelijk verwijderd van de Ctrl toets. De reden dat dit standaard op Ctrl-B staat is dat Ctrl-A gebruikt wordt door Screen, een andere multiplexer.
Dit kan je toevoegen aan je .tmux.conf bestand om de opdrachtprefixtoets om te zetten:
unbind C-b
set -g prefix C-a
Sessies
Een sessie kan een naam hebben. De opdrachten beginnen steeds met de opdrachtprefix, standaard is dit Ctrl-B, maar dit kan je aangepast hebben naar Ctrl-A.
- S
- Sessies opsommen
- $
- Huidige sessie hernoemen
- D
- Huidige sessie loskoppelen (Detach)
- ?
- De Help van Tmux
Vensters
Binnen een sessie kan je meerdere vensters hebben.
- C
- Open nieuw venster
- ,
- Hernoem het huidige venster
- W
- Vensters opsommen
- N
- Naar het volgende venster (Next)
- P
- Naar het vorige venster (Previous)
- 0 - 9
- Naar het venster met het opgegeven nummer gaan
Panes
Een pane heeft een nummer. Zonder aanpassingen in tmux.conf zijn dit de standaard opdrachten:
- %
- Horizontaal splitsen
- "
- Verticaal splitsen
- pijl naar links
- Een pane naar links gaan
- pijl naar rechts
- Een pane naar rechts gaan
- pijl naar beneden
- Een pane naar beneden gaan
- pijl naar boven
- Een pane naar boven gaan
- Q
- De pane nummers even laten zien
- O
- In volgorde door de panes wandelen
- }
- De huidige pane wisselen de volgende pane
- {
- De huidige pane wisselen met de vorige
- X
- de huidige pane sluiten
Om het horizontaal en verticaal splitsen van panes te vereenvoudigen, kan je deze regels opnemen in je .tmux.conf bestand:
unbind v
unbind h
unbind %
unbind '"'
bind v split-window -h -c
bind h split-window -v -c
Panes opnieuw indelen
Als je indeling van de panes wat rommelig is geworden, dan kan je de panes opnieuw indelen met Ctrl-B (of Ctrl-A als je dat zo hebt ingesteld) en:
- Alt 1
- Gelijke horizontale delen
- Alt 2
- Gelijke verticale delen
- Alt 3
- Eerste pane horizontaal, de andere verticaal verdeeld
- Alt 4
- Eerste pane verticaal, de andere horizontaal verdeeld
- Alt 5
- Gelijke getegelde verdeling
Tekst kopiëren en plakken
Tekst kopiëren en plakken binnen tmux kan met:
Kopiëren: opdrachtprefix + [
Start selectie: opdrachtprefix + Spatiebalk
Einde selectie: opdrachtprefix + Enter
Plakken:
opdrachtprefix + ]
Als je van tmux iets wilt kopiëren naar het klembord, dan kan je de Shift toets ingedrukt houden terwijl je met de muis selecteert. Plakken kan dan door indrukken van het muiswiel.
Opdrachten in meerdere panes tegelijk ingeven
Als ieder pane verbonden is met een aparte host, dan kan je de panes koppelen zodat wat je typt in alle panes tegelijk wordt ingegeven.
Het synchroniseren van panes wordt gestart met Ctrl-B (of Ctrl-A als je dat zo hebt ingesteld) en :setw synchronize-panes. Dezelfde opdracht kan gebruikt worden om de koppeling weer ongedaan te maken.
Het configuratiebestand laden
Als je het configuratie bestand .tmux.conf hebt aangepast, dan kan je het in de huidige tmux sessie laden met:
tmux source-file ~/.tmux.conf
Je kunt een toets verbinden met de opdracht source-file ~/.tmux.conf. Dit kan door de volgende regel toe te voegen aan het .tmux.conf bestand:
bind r source ~/.tmux.conf\\; display "~/.tmux.conf geladend!"
Na deze toevoeging kan je het configuratiebestand opnieuw laden via de prefixopdrachttoets en r.