tmux is a terminal multiplexer which is a fancy way to say it allows multiple “windows” in a single terminal. It’s essential to my workflow. This post will only touch on the basics to get you up and running.
$ brew install tmux
Using Windows? See here.
Start it up
To use any of the commands you have to type the leader prefix followed by your specific command. The default is CTRL + B. To save space I’ll show the prefix as PX.
PX + c
tmux starts with a window created by default but we can open multiple within the same session. The windows are numbers starting at zero.
PX + 0
The above would switch to window zero. At the bottom in the status bar you’ll see each window listed. The active window is indicated with an asterisk.
PX + % Vertical split
PX + "" Horizontal split
Windows a kind of useless to me. I much prefer to just split a single window into multiple panes and keep everything in sight.
PX + ;
This will cycle from one pane to the next within the same window. Instead of
you can also use the arrow keys.
Resizing is so awkward I usually go into command mode for this.
PX + :
: resize-windows -L
L indicates the direction: left. You can also specify
the other four directions. Repeat this command as needed.
PX + d
This will detach the session, close tmux, but leave your session running in the background.
vim copy and paste
You can get lost for weeks configuring this stuff but here is a basic setup
that’ll let you copy and paste like you do in vim. The config is
set-window-option -g mode-keys vi bind-key -t vi-copy 'v' begin-selection bind-key -t vi-copy 'y' copy-selection
Disable the mouse
The prevent accidental scrolling and trashing your tmux session I recommend you immediately disable the mouse.
PX + :
: setw -g mode-mouse off
I haven’t really even scratch the surface. After you’ve been using tmux for a while you’ll want to customze your status bar and start messing with powerlines glyphs. To learn how to do that and get a cooler setup I recommend you read tmux 2 Productive Mouse-Free Development.