Tmux is a shell terminal multiplexing, that is a tiling window manager for the terminal.
Ranked in these QuestionsQuestion Ranking
Pro Preserve the state
As long as you don't close your session, you may even lose your SSH connection, it'll keep your state just as it was. So you can resume where you left off (via
Pro Maximize screen space
As a tiling window manager, it'll make use of all the space. As you have multiple workspaces and you can resize, etc. you can adjust to see what matters most.
Pro Easily split panes
There is a keyboard shortcut that makes it easy to split a window and create more panes.
Pro Mouse support
Mouse support can optionally be enabled, allowing e.g. scrolling with the mouse wheel, or switching panes with mouse clicks.
Pro Windows linked to sessions
tmux calls the individual shell instances windows. They are displayed like tabs in the status line. These windows can be shared between different sessions, so that any given shell instance can be in any number of tmux sessions used for different purposes or by different users. This allows configurations like the following example: User A: wAB, wA1, wA2; User B: wB1, wAB, wB2
Open ~/.tmux.conf to get started. You can customize keybindings, the bottom status bar, color schemes, the clock screen, your time zone, and more.
Pro Only need to learn a few keyboard shortcuts and commands to make much headway
Pro Frequently updated
Tmux is in a state of constant development. Updates are frequent and bug reports usually get an answer within days.
Con Poorly designed key binding
Counter-intuitive keyboard shortcuts make tmux very hard to use and learn.
Con Bad scrolling support
Con No builtin telnet or serial support
It's considered bloat by the maintainers and for this reason there's no builtin support for them.