===== Combinaciones de teclas indispensables para sacarle partido a Tmux. =====
Tmux es un multiplexor de terminal para sistemas tipo unix, similar a GNU Screen o Byobu que permite dividir una consola en múltiples secciones o generar sesiones independientes en la misma terminal. Para usar el ratón, aunque desde aquí no se recomienda ya que no está muy pulido), a partir de la versión 2.1 solo es necesaria la siguiente linea dentro de .tmux (/etc/tmux).
set -g mouse on
Con esa opción se podrá hacer scrolling, redimensionar las terminales y copiar / pegar (Tecla shift y para columnas cntrl + shift). Como se ha comentado, esta opción no funciona todo lo bien que debería, por lo que no activarla puede ser conveniente. Si se quiere hacer scrolling es posible usando simplemente el modo copia.
[Cntrl + b] + % Divide la terminal verticalmente.
[Cntrl + b] + " Divide la terminal horizontalmente.
[Cntrl + b] + Tecla cursor Permite desplazar el foco entre terminales.
[Cntrl + b] + [Cntrl + Tecla cursor] Permite redimensionar las terminales con los cursores.
[Cntrl + b] + x Cierra la terminal donde está el foco activo.
[Cntrl + b] + ! Cierra todas las terminales menos la que tiene el foco activo.
[Cntrl + b] + d Se desvincula de una sesión y le asigna un número si no tiene nombre.
[Cntrl + b] + z Pone en primer plano la terminal en la que tengamos el foco. (Útil a la hora de seleccionar texto).
[Cntrl + b] :setw synchronize-panes Todas las terminales reciben la misma entrada de teclado, permite usar varias terminales a la vez.
# NOTA: De manera nativa la terminal "Terminator" puede también escribir simultanemanete en varias terminales usando la combinación de teclas "Cntrl + a". También con "Tilix" implementa esta posibilidad.
# Copiar / Pegar con tmux.
0 - [Cntrl + b] + "PgUp" o "[" Permite entrar el modo copia y usar el scrolling (q para salir).
1 - Ir a la linea a partir de la cual se quier copiar.
2 - [Cntrl + Barra espaciadora]
3 - Mover con los cursores para seleccionar lo que se quiere copiar.
4 - [Alt + w] Copia el texto seleccionado en el paso anterior.
5 - [Cntrl + b] + "]" Pega el contenido copiado.
# NOTA: En GNU/Linux la combinación [Cntrl + Botón izquierdo del ratón pulsado] permite seleccionar columnas de texto en la terminal. Esto puede ser utilizado en vez de usar las teclas nativas de tmux para copiar y pegar.
# Crear pestañas (ventanas según tmux) que pueden contener a su vez las terminales que se deseen.
[Cntrl + b] + c Crea una pestaña.
[Cntrl + b] + w Lista las pestañas.
[Cntrl + b] + n Se dirige a la siguiente pestaña.
[Cntrl + b] + p Se dirige a la pestaña anterior.
[Cntrl + b] + f Busca pestañas.
[Cntrl + b] + , Establece un nombre a la pestaña.
[Cntrl + b] + & Finaliza la pestaña.
tmux new -s XX Crea una sesión llamada XX.
[Ctrl + b] + $ Permite renombrar una sesión.
tmux ls Lista las sesiones.
tmux a -t 4 Se vincula a la sesión 4. Si lo hacen dos usuarios o más, todos podrán colaborar en la misma terminal. Al compartir una consola, siempre se visualizará con las dimensiones que correspondan el cliente que utilice las menores medidas de ancho y alto.
[Cntrl + b] + t Muestra un reloj digital.
[Cntrl + b] + q Muestra el número de terminal.
[Cntrl + b] + Barra espaciadora Cambia el esquema de posicionado de terminales.
# Termina todas las sesiones abiertas en tmux.
tmux ls | cut -d: -f1 | xargs -l1 tmux kill-session -t
===== Enlaces de interés con trucos para usar la terminal más eficientemente =====
Para hacer un uso de la terminal de una forma más productiva en sistemas UNIX, se puede usar además de tmux (particionado de terminales y uso de sesiones), mosh para conexiones lentas o con problemas de conectividad. Un prompt que permite visualizar más fácilmente los resultados en pantalla. Cuando se trabaja con rutas del sistema muy largas, usar algún tipo de acortado de rutas en el prompt o facilitar la movilidad entre rutas usadas anteriormente usadas.
* [[moverse_entre_directorios_con_bash_facilmente | Truco para moverse entre directorios eficientemente]].
* [[desbloquear_terminal_con_ssh_congelado | Desbloquear sesión ssh bloqueada / colgada]].
* [[configuracion_minima_obligatoria_para_vim_.vimrc | Configuración mínima y esencial para Vim]].
* [[acortar_rutas_mostradas_en_el_prompt_w_w | Acortar rutas en el prompt]].
* [[historial_en_bash_sin_perder_comandos | Historial sin perder comandos]].
* [[mejorar_navegacion_del_historial_bash_zsh_cntlr_r | Mejorar la navegación del historial (Cntrl +r)]].