2012-02-12 11 views
22

È un modo per inviare lo stesso comando a tutte le finestre di tmux, non a tutto il pannello nella finestra. synchronize-panes - invia il comando a tutto il pannello in una finestra. Ho bisogno di qualcosa come "a" sullo schermo.Invia comando a tutte le finestre di tmux

Grazie per l'aiuto.

risposta

14

Si può sempre fare qualcosa di simile:

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

Si potrebbe anche associare questo ad un tasto nella vostra tmux.conf come questo:

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

Questo è fantastico - una piccola aggiunta. Volevo fare la stessa cosa, ma per inviare lo stesso output a tutti i riquadri in ogni finestra. Facilmente con l'impostazione 'synchronize-panes'! – dsummersl

+1

Hai anche la sessione corrente per comando: 'tmux display -p" #S "' – NgaNguyenDuy

+0

così brillante, funziona! –

2

Si potrebbe fare qualcosa di simile: https://gist.github.com/2773454

Ma questo viene eseguito per ogni riquadro, ma è possibile regolare di conseguenza.

Tutto dipende da ciò che si tenta di ottenere, per questo un esempio di ciò che voglio ottenere è di ~/.zsh in tutti i riquadri.