Tmux
Esteroides para tu terminal
Hoy, quiero presentaros a tmux, un programa que dotará de funciones extra a cualquier emulador de terminal que estemos usando. Estas funciones incluyen entre otras, pestañas, paneles, poder administrar diferentes sesiones en una misma ventana, trabajo cooperativo vía SSH… Vamos, que es como darle superpoderes a nuestra amiguita.
Explicare los atajos más usados, pero sin duda el más importante es el siguiente, la ayuda.
Menu ayuda
ctrl + ? # muestra todos los atajos disponibles
Abrir sesion en tmux
tmux # nombre aleatorio
tmux new -s mysesion # nombre específico
Dividir pantalla
ctrl + b % # panel vertical
ctrl + b " # panel horizontal
Moverse entre divisiones
ctrl + b # flecha de dirección
Nueva ventana
ctrl + b c
Navegar entre ventanas
ctrl + b n # adelante
ctrl + b p # atras
Dar nombre a ventana
ctrl + b ,
Redimensionar ventana
ctrl + b Esc + direccion de flecha
vim ~/tmux.conf
bind-key -r S-Up resize-pane -U 10
bind-key -r S-Down resize-pane -D 10
bind-key -r S-Left resize-pane -L 10
bind-key -r S-Right resize-pane -R 10
-r
permite repetir la ejecución de la tecla.
ahora con ctrl + b shift + {left,right,up,down}
podremos redimensionar al gusto.
Zoom de una ventana
ctrl + b z # añadir zoom, pone pantalla completa
ctrl + b z # por segunda vez, quitar zoom
Cerrar ventana
ctrl + b &
ctrl + b x # cerrar división o ventana si no hay divisiones
Tarea en 2º plano
Muy útil cuando ejecutas un comando que tarda mucho.
ctrl + b d
Ver listas de sesiones activas
tmux ls
Volver a la sesión
tmux a
# en el caso de que ayan varias sesiones activas
tmux a -t nombre
Elegir sesión si tenemos abierta más de una.
Ctrl + b s
Cerrar sesion
ctrl + b & # en todas las ventanas
tmux kill-session -t mysesión # matar sesión
Copiar y pegar
En tmux se puede copiar y pegar como en todas las terminales ctrl + Mayus + c|v
, o en caso de no utilizar entorno gráfico dispone de su propio Copy&Paste muy parecido a vim.
- Entrar "copy mode" presionando
CTRL + b, [
. - Utilizar las flechas para mover el cursor por la pantalla. Presiona
CTRL + SPACE
para empezar a copiar. - Usa las flexas para moverte al final det texto que quieres copiar. Presiona
ALT + w
oCTRL + w
para copiar. - Presiona
CTRL + b, ]
para copiar, incluso en otras ventanas Tmux abiertas en esa misma sessión.
Compartir sesión
Partimos de 2 hosts, host "uno" y host "dos", el host dos ara de server con la ip 10.0.0.2.
Fingiremos que hay alguien trabajando en el server e invita a otro a ver su trabajo, o pide ayuda, da lo mismo.
Server, host dos.
inicia tmux con una sesion llamada compartida
tmux new -s compartida
###### Host "uno"
conecta con server
tmux # inicia sesion de tmux
ssh server@10.0.0.2 # se conecta via ssh al server
tmux ls # lista sesiones abiertas
tmux a -t compartida # se conecta a la sesión compartida