Aprendiendo tmux


Qué es

tmux permite dividir una consola con sessions con múltiples windows con múltiples panels.

Instalación en Ubuntu 14

  • $ sudo add-apt-repository ppa:pi-rho/dev
  • $ sudo apt-get update
  • $ sudo apt-get install tmux
  • $ tmux
Se ve como una consola normal, con una barra de estado verde debajo. Por default las ventanas se numeran 0, 1, 2, 3...

Uso

  • CTRL+B <comando>
    pulsar CTRL y B, soltar, y a continuación el comando 
  • CTRL+B %
    split vertical
  • CTRL+B "
    split horizontal
  • CTRL+B <flecha>
    Para moverse entre paneles
  • CTRL+B o
    Ir al siguiente panel
  • CTRL+B x
    Eliminar panel (pide confirmación)
  • CTRL+B z
    Zoom in / zoom out
  • CTRL+B [
    Entra al modo copy. Pulsar Esc para salir.
  • CTRL+B c
    Nuevo window
  • CTRL+B w
    Lista de windows
  • CTRL+B <n>
    Ir al window n
  • CTRL+B n
    Ir al siguiente window
  • CTRL+B p
    Ir al previo window
  • CTRL+B &
    Matar el window (pide confirmación)
  • CTRL+B s
    Lista las sessions
  • CTRL+B d
    Detach de la session. No se cierra, simplemente no se ve.
  • $ tmux ls
    Muestra la lista de sessions
  • $ tmux attach -t <n>
    Attach a la session n. Es posible ver una misma session en varias consolas.
  • $ tmux kill-session -t <n>
    Mata la session n

Uso del mouse


Está pensado para aprovechar más el teclado. Pero si se necesita el apoyo del mouse, se puede poner estas líneas en el ~/.tmux.tconf:

# Make mouse useful in copy mode
setw -g mode-mouse on

# Allow mouse to select which pane to use
set -g mouse-select-pane on

# Allow mouse dragging to resize panes
set -g mouse-resize-pane on

# Allow mouse to select windows
set -g mouse-select-window on

# Allow xterm titles in terminal window, terminal scrolling with scrollbar, and setting overrides of C-Up, C-Down, C-Left, C-Right
# (commented out because it disables cursor navigation in vim)
#set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

# Scroll History
set -g history-limit 30000

# Set ability to capture on start and restore on exit window data when running an application
setw -g alternate-screen on

# Lower escape timing from 500ms to 50ms for quicker response to scroll-buffer access.
set -s escape-time 50