¡Todavía no está utilizando tmux al máximo! (Probablemente)

¡Hola, Habr! Presento a su atención la traducción del artículo "(た ぶ ん) 君 は ま だ tmux の 真 の 力 を 引 き 出 せ て い な い" .



Contenido



  • Que es tmux
  • Iniciar e iniciar una nueva sesión
  • Abriendo una nueva ventana
  • Transiciones entre ventanas
  • Dividir ventanas y crear paneles
  • Moverse entre paneles
  • Moverse entre sesiones
  • [Uso práctico] Redirigir el contenido mostrado en tmux
  • [Uso práctico] Visualización del nombre de la sucursal de Git en el campo de información
  • [Uso práctico] Muestra la ruta de la operación actual
  • [Uso práctico] Llamar a un fragmento
  • Enlace a la configuración .tmux.conf
  • Compatibilidad de la versión tmux


Que es tmux



tmux es un multiplexor de terminales. Cuando trabaja en una máquina usando SSH, ejecutando un programa pesado, pero quiere pasar a otra tarea, etc. sin detener la ejecución, entonces tmux puede ser muy útil.



Pero las capacidades de tmux no terminan ahí. Hay varios casos prácticos de uso para tmux, que quiero demostrar con los ejemplos a continuación.



La idea básica es similar a las modificaciones en Vim. Con la ayuda de prefix'a (combinaciones de teclas reservadas o combinaciones de teclas) puede cambiar el mod, el valor predeterminado es ctrl + b.



Iniciar e iniciar una nueva sesión



Si su sistema operativo es Ubuntu o Debian, puede instalar tmux con el comando `sudo apt-get install tmux`. En MacOS: brew install tmux.



Comando para ejecutar:



$ tmux


Si desea iniciar tmux e inmediatamente nombrar la nueva sesión, use este comando:

$ tmux new -s {   }


imagen



Abriendo una nueva ventana



Una vez que haya creado una sesión en tmux, también puede crear nuevas ventanas. El enlace estándar es "ctrl + b + c". Si ha conservado su prefijo, puede utilizar el enlace "prefijo + c". Lo más probable es que el valor de "c" se cree, por lo tanto, tal paquete.



imagen



Transiciones entre ventanas



También puede cambiar libremente entre las ventanas creadas. Los enlaces estándar para esto son "prefijo + p" (p - anterior) y "prefijo + n" (n - siguiente).



El uso de prefijo no siempre es conveniente, por lo que he personalizado las combinaciones de teclas para cambiar entre ventanas: shift + rightKey para la siguiente ventana y shift + leftKey para la anterior.



imagen



Dividir ventanas y crear paneles



Dividir ventanas en tmux es similar a dividir en vim. Divide la ventana en varios paneles, por lo que puede abrir vim en una ventana, htop en otra y ejecutar el programa en la tercera.



Sin combinación de teclas, los comandos para dividir una ventana son prefijo + "ventana dividida -h", prefijo + "ventana dividida -v".



Como no quiero prescribir esto cada vez, hice teclas de acceso rápido para mí en forma de prefijo + "-", prefijo + "|".



imagen



Moverse entre paneles



Los comandos estándar para moverse entre paneles son complicados, no muy fáciles de usar, así que en este caso también asigné mis teclas de acceso rápido: ctrl + shift + upKey, ctrl + shift + downKey, ctrl + shift + rightKey, ctrl + shift + leftKey.



imagen



Moverse entre sesiones



Usando la combinación de teclas ctrl + t, puede llamar la lista de sesiones y usar las teclas ↑ ↓ para seleccionar la sesión requerida.



imagen



[Uso práctico] Redirigir el contenido mostrado en tmux



Básicamente, tmux es una especie de terminal virtual que se encuentra en el directorio / dev / pts / {fooBar}. Se crea un directorio del mismo formato para cada panel.



En otras palabras, si definimos {fooBar} para cada panel, podemos redirigir los flujos stdout y stderr desde el panel X por separado, uno al panel Y, el otro al panel Z.



Por lo tanto, puede generar programas que escriba en diferentes paneles stderr y stdout, y También use la terminal como un registro de operaciones.



imagen



[Uso práctico] Visualización del nombre de la rama de Git en la barra de estado



Este es un truco de vida que utiliza la capacidad de leer el script Shellscript y Python desde el archivo de configuración .tmux.conf - tmux.



La barra de estado se puede configurar con el siguiente comando:



set-option -g status-right '#{host} #(tmux run-shell "tmux_hook --default true --git-path #{pane_current_path}")'


# {host} es obviamente el nombre de host y tmux run-shell ejecuta un script personalizado que devuelve valor a la configuración de la barra de estado.



tmux_hook es un archivo que creé para mostrar la hora y la rama actual de Git, pero esencialmente puede devolver cualquier información de texto. Por ejemplo, si está configurado correctamente, incluso puede mostrar su línea de tiempo de Twitter en la barra de estado.



imagen



[Uso práctico] Muestra la ruta de la operación actual



A menudo, al pasar por la terminal, desea comprender en qué directorio se encuentra, en qué ruta está contenido.



No quiero escribir pwd para esto una vez más, por lo que puede mostrar la ruta de la operación actual en el mismo lugar donde se muestra la ruta al panel actual.



setw -g pane-border-format '#{pane_tty} | #{pane_current_path}'


imagen



[Uso práctico] Llamar a un fragmento



Aunque tmux es un administrador de sesiones con una función de uso compartido de terminal, puede realizar algunas funciones IDE (¿no es genial?). Puede vincular sus teclas de acceso rápido a la configuración especial de teclas de envío y llamarlas en la terminal.



Por ejemplo, si configura las teclas de envío como en mi ejemplo a continuación, puede simplemente presionar el prefijo + 1 y mostrar los comandos de importación necesarios para trabajar con Python.



bind -T prefix -n 1 send-keys "import os\nimport sys\n"


imagen



Enlace a la configuración .tmux.conf



justo aquí



Compatibilidad de la versión tmux



A veces sucede que algunas configuraciones de tmux no funcionan; en este caso, su versión puede ser demasiado nueva o demasiado antigua.



Todo lo anterior y la configuración a la que dejé el enlace son para tmux versión 2.8 y superior. Si algo no le funciona, compruebe si esta versión es adecuada para usted.



Si va a depurar algo usted mismo, primero debe consultar man tmux, la documentación más confiable sobre tmux en este momento.



Un enlace al original de este artículo está aquí.



Estaremos muy contentos si nos dice si le gustó este artículo, ¿fue clara la traducción, le resultó útil?



All Articles