Descarga el código: LearnTmux.txt
tmux es un terminal multiplexor: habilita la creación, acceso y control de múltiples terminales controlados desde una sola pantalla. tmux puede ser separado de una pantalla y continuar corriendo en el fondo y luego ser insertado nuevamente.
tmux [command] # Corre un comando
# 'tmux' sin comandos creará una nueva sesión
new # Crea una nueva sesión
-s "Session" # Crea sesión con nombre
-n "Window" # Crea ventana con nombre
-c "/dir" # Comienza en el directorio destino
attach # Adjunta sesión última/disponible
-t "#" # Adjunta sesión destino
-d # Separa la sesión de otras instancias
ls # Lista las sesiones abiertas
-a # Lista todas las sesiones abiertas
lsw # Lista las ventanas
-a # Lista todas las ventanas
-s # Lista todas las ventanas en la sesión
lsp # Lista los páneles
-a # Lista todos los páneles
-s # Lista todos los páneles de la sesión
-t # Lista los páneles de aplicación en el destino
kill-window # Cierra la ventana actual
-t "#" # Cierra la ventana destino
-a # Cierra todas las ventanas
-a -t "#" # Cierra todas las ventanas menos el destino
kill-session # Cierra la sesión actual
-t "#" # Cierra la sesión destino
-a # Cierra todas las sesiones
-a -t "#" # Cierra todas las sesiones menos el destino
El método para controlar una sesión adjunta tmux es mediante combinaciones de teclas llamadas teclas 'Prefijo'.
----------------------------------------------------------------------
(C-b) = Ctrl + b # combinación 'Prefijo' necesaria para usar atajos
(M-1) = Meta + 1 -o- Alt + 1
----------------------------------------------------------------------
? # Lista todos los atajos de teclado
: # Entra en la línea de comandos tmux
r # Fuerza el redibujado del cliente adjuntado
c # Crea una nueva ventana
! # Separa el panel actual fuera de la ventana.
% # Separa el panel actual en dos, izquierdo y derecho
" # Separa el panel actual en dos, superior e inferior
n # Cambia a la siguiente ventana
p # Cambia a la ventana previa
{ # Intercambia el panel actual con el anterior
} # Intercambia el panel actual con el próximo
s # Selecciona una nueva sesión para el cliente adjuntado
interactivamente
w # Elegir la ventana actual interactivamente
0 al 9 # Seleccionar ventanas 0 al 9
d # Separa el cliente actual
D # Elige un cliente para separar
& # Cierra la ventana actual
x # Cierra el panel actual
Up, Down # Cambia al panel superior, inferior, izquierdo, o derecho
Left, Right
M-1 to M-5 # Organizar páneles:
# 1) uniformes horizontales
# 2) uniformes verticales
# 3) principal horizontal
# 4) principal vertical
# 5) mozaico
C-Up, C-Down # Redimensiona el panel actual en pasos de una celda
C-Left, C-Right
M-Up, M-Down # Redimensiona el panel actual en pasos de cinco celdas
M-Left, M-Right
tmux.conf puede usarse para establecer opciones automáticas al arrancar, parecido a como .vimrc o init.el hacen.
# Ejemplo de tmux.conf
# 2014.10
### General
###########################################################################
# Habilita UTF-8
setw -g utf8 on
set-option -g status-utf8 on
# Fuera de pantalla/Historia límite
set -g history-limit 2048
# Comienzo de índice
set -g base-index 1
# Ratón
set-option -g mouse-select-pane on
# Forza recarga de fichero de configuración
unbind r
bind r source-file ~/.tmux.conf
### Atajos de teclado
###########################################################################
# Desvincula C-b como el prefijo por defecto
unbind C-b
# Establece el nuevo prefijo
set-option -g prefix `
# Regresa a la ventana previa cuando el prefijo es accionado dos veces
bind C-a last-window
bind ` last-window
# Permite intercambiar C-a y ` usando F11/F12
bind F11 set-option -g prefix C-a
bind F12 set-option -g prefix `
# Preferencias de atajos
setw -g mode-keys vi
set-option -g status-keys vi
# Moviéndose entre paneles con movimientos de teclas vim
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Ciclo/Intercambio de Ventana
bind e previous-window
bind f next-window
bind E swap-window -t -1
bind F swap-window -t +1
# División rápida de paneles
bind = split-window -h
bind - split-window -v
unbind '"'
unbind %
# Activar sesión mas interna (cuando se anida tmux) para enviar comandos
bind a send-prefix
### Temas
###########################################################################
# Paleta de Colores de la Barra de estado
set-option -g status-justify left
set-option -g status-bg black
set-option -g status-fg white
set-option -g status-left-length 40
set-option -g status-right-length 80
# Paleta de Colores del Borde del Panel
set-option -g pane-active-border-fg green
set-option -g pane-active-border-bg black
set-option -g pane-border-fg white
set-option -g pane-border-bg black
# Paleta de Colores de Mensajes
set-option -g message-fg black
set-option -g message-bg green
# Paleta de Colores de la Ventana
setw -g window-status-bg black
setw -g window-status-current-fg green
setw -g window-status-bell-attr default
setw -g window-status-bell-fg red
setw -g window-status-content-attr default
setw -g window-status-content-fg yellow
setw -g window-status-activity-attr default
setw -g window-status-activity-fg yellow
### UI
###########################################################################
# Notificación
setw -g monitor-activity on
set -g visual-activity on
set-option -g bell-action any
set-option -g visual-bell off
# Establece automáticamente títulos de ventanas
set-option -g set-titles on
set-option -g set-titles-string '#H:#S.#I.#P #W #T' # window number,program name,active (or not)
# Ajustes de barra de estado
set -g status-left "#[fg=red] #H#[fg=green]:#[fg=white]#S#[fg=green] |#[default]"
# Muestra indicadores de rendimiento en barra de estado
# Requiere https://github.com/thewtex/tmux-mem-cpu-load/
set -g status-interval 4
set -g status-right "#[fg=green] | #[fg=white]#(tmux-mem-cpu-load)#[fg=green] | #[fg=cyan]%H:%M #[default]"
Tmux | Inicio Tmux Manual Gentoo Wiki Archlinux Wiki Mostrar CPU/MEM % en barra de estado
¿Tienes una sugerencia o rectificación? Abre un issue en el repositorio de GitHub, o haz un pull request tu mismo
Originalmente contribuido por mdln, y actualizado por 2 colaboradores.