2012-02-12 14 views
22

Es una forma de enviar el mismo comando a todas las ventanas en tmux, no a todos los paneles en la ventana. sincronize-panes: envía comandos a todos los paneles en una ventana. Necesito algo como 'at' en la pantalla.Enviar comando a todas las ventanas en tmux

Gracias por la ayuda.

Respuesta

14

Siempre se puede hacer algo como esto:

session=mysession 
message="hello world" 
tmux list-windows -t $session|cut -d: -f1|xargs -I{} tmux send-keys -t $session:{} $message 

También podría obligar a un clave en su tmux.conf así:

bind C-e command-prompt -p "session?,message?" "run-shell \"tmux list-windows -t %1 \| cut -d: -f1\|xargs -I\{\} tmux send-keys -t %1:\{\} %2\"" 
+1

Esto es genial, una pequeña adición. Quería hacer lo mismo, pero enviar el mismo resultado a todos los paneles en cada ventana. ¡Fácil de hacer con la configuración 'synchronize-panes'! – dsummersl

+1

También recibe la sesión actual por comando: 'tmux display -p" #S "' – NgaNguyenDuy

+0

tan brillante, ¡funciona! –

2

se podría hacer algo como esto: https://gist.github.com/2773454

Pero esto se ejecuta para cada panel, pero puede ajustarlo en consecuencia.

Todo depende de lo que intente lograr, para esto, un ejemplo de lo que quiero lograr es obtener ~/.zsh en todos los paneles.

Cuestiones relacionadas