Tmux

tmux (terminal multiplexer) is a program that enables a number of terminals (or windows), each running a separate program, to be created, accessed, and controlled from a single screen or terminal window. Users familiar with GNU Screen may find tmux as a good alternative.

Emerge
Install :

Configuration
The configuration file are located at each user's home directory in the  file. Open a text editor of choice and modify the configuration file as desired.

The following is an example file:

Key bindings
tmux can be controlled from an attached client by using a key combination of a prefix key stroke (+ by default) followed by a command key.

After pressing + the following key combinations can be used:

General

 * = List all key bindings.
 * = Detach the current client.
 * = Enter the tmux command prompt.

Creating and managing windows

 * = Create a new window
 * = Change to the next window.
 * = Change to the previous window.
 * = Move to the previously selected window.
 * = Select windows 0 to 9.
 * = Prompt for a window index to select. Then enter a number or title to switch to that window.
 * = Rename the current window.
 * = Choose the current window interactively.
 * , then type list-windows = Display the list of windows.

Creating and managing panes

 * = Split the current pane into two, top and bottom.
 * = Split the current pane into two, left and right.
 * = Select the next pane in the current window.
 * = Move to the previously active pane.
 * {{Key|{}} = Swap the current pane with the previous pane.
 * {{Key| } }} = Swap the current pane with the next pane.
 * + = Rotate the panes in the current window forwards.
 * + to + = Arrange panes in one of the five preset layouts: even-horizontal, even-vertical, main-horizontal, main-vertical, or tiled.
 * = Kill the current pane.
 * = Break the current pane out of the window.

Copy, paste, and scroll operations
The keys available depend on whether emacs (default) or vi mode is selected. The mode-keys option can be set in for vi mode.


 * = Enter copy mode to copy text or view the history.
 * = Paste the most recently copied buffer of text.
 * = List all paste buffers.
 * = Delete the most recently copied buffer of text.

Start session
Once started tmux creates a socket for the session in

tmux can be started with the following command:

Or, to give the session a name on start up, run:

Listing sessions
List tmux sessions to see existing session information:

When listing sessions the name of the session should appear as the first item in the session information line. It is possible to see from the output above the session was created without a name, hence the session is to be referenced as.

Another way to list sessions is by typing out the long  argument.

The exact same output as the previous list command is displayed.

Renaming a session
Simply using "tmux" to start a session will not provide the session with a nice, human readable name.

If the default session name is not descriptive enough ( does not tend to describe much), then a session can be renamed. Suppose Larry the cow started tmux without specifying a session name on start up. He begins working on compiling a new version of Portage, and wants to change the session name to reflect his current task. To change the session name he would first assume control of tmux by pressing the magic key stroke: +, then which will drop focus into the tmux control line. By default the line should turn yellow. Once there he would issue:

Where  is the existing (default) session name and   is the desired name for the new session. To rename when detached from a tmux session issue:

Resuming a session
After the session is detached, all the active terminals remain active and so do commands that did not finish yet. To resume a session use.

Or use the long way of attaching to an existing session:

Daemon-like operation
To start a command in a tmux</tt> session without attaching to the session (like a daemon) use  followed by the command to execute in quotes:

External resources

 * An excellent tmux</tt> primer.