Reajustar de una sesión de Tmux

Original web-page: https://blog.jpalardy.com/posts/rebase-a-tmux-session/

Tmux es el caballo de batalla de mi flujo de trabajo de desarrollo local. Cuando entro cd en un directorio y empiezo a trabajar fuera de una sesión de Tmux, siento que falta algo.
Siempre es necesario obtener un nuevo shell para comprobar algo o ejecutar una prueba rápida. Abro un montón de ventanas: algunas permanentes (que suelo nombrar), la mayoría desechables.
example tmux session with named windows

El problema

Una vez que se inicia la sesión, el “directorio de inicio” se establece y se fija.

Si, en medio de una sesión, necesitaba concentrarme en un subdirectorio o moverme a otro lugar, tenía varias opciones subóptimas:

  • explícitamente cd al nuevo directorio, después de abrir cada nueva ventana
  • salga de la sesión e inicie una nueva en el nuevo directorio
  • iniciar una nueva sesión, en otra terminal, en el nuevo directorio

Esto había sucedido suficientes veces para justificar la búsqueda de una mejor manera…

La solución

Agregue esto a su $HOME/.tmux.conf (aquí está el mío):

bind _ attach-session -t . -c '#{pane_current_path}'

(es posible que deba reiniciar Tmux o volver a cargar su configuración)

Mi prefijo es ctrl-a, y esto se une un comando al guión: _. El pane_current_path es el $PWD de la ventana que está utilizando al invocar el enlace. También puede hacer esto desde el modo de comando de Tmux.

El guión bajo tenía sentido para mí, pero siéntase libre de personalizar la encuadernación.

Experiencia

Poder “reutilizar” mis sesiones ha sido muy conveniente. No dedico demasiado tiempo a pensar en “el mejor” directorio desde el que iniciar una sesión; Siempre puedo arreglarlo más tarde.

About the Author