I didn't get [tmux](https://en.wikipedia.org/wiki/Tmux) when I first came across it. It just seemed like a handy way to manage windows and tabs in the terminal.
It’s strength though is that it allows you to create persistent shell sessions that can be named, detached (when you need to do something else), and reattached when you need them as if you had been there the whole time.
Install via homebrew.
brew install tmux
Configure so that the short cut key is Ctrl-a
Start a session
tmux new -s my_new_session
Detach from a session Ctrl-b, d
or
tmux detach
List sessions
tmux ls
Attach to a session
tmux a -t my_new_session
Useful keyboard shortcuts via Coderwall
^b then c to create a new window
^b then n to switch to the next window
^b then , then [type something] then ⌤ to rename the current window
^b then % to split the current window into panes vertically
^b then " to split the current window into panes horizontally
^b then ↑ to move to the above pane (works for all four arrows)
^b then q to show pane numbers, then (optionally) the number to switch to that pane
^b then ⎇↑ to resize the current pane up (works for all four arrows)
^b then x to kill the current pane (or window if it only has one pane)
^b then [ to enter copy mode, then four arrow keys to move, even past the visible point, which is great for scrolling--I don't use it much for copying/pasting.