2012-02-12 3 views
22

창에서 모든 창으로가 아니라 tmux의 모든 창에 동일한 명령을 보내는 방법입니다. 동기화 창 - 한 창에서 모든 창으로 명령을 보냅니다. 화면에 'at'와 같은 것이 필요합니다.tmux의 모든 창에 명령 보내기

도움 주셔서 감사합니다.

답변

14

당신은 항상 이런 식으로 뭔가를 할 수 :

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

위대한입니다 - 조금 추가. 나는 똑같은 일을하고 싶었지만 같은 결과를 각 창에있는 모든 창에 보냈다. 'synchronize-panees '설정으로 쉽게 할 수 있습니다! – dsummersl

+1

명령으로 현재 세션을 얻을 수도 있습니다 : 'tmux display -p "#S"' – NgaNguyenDuy

+0

너무 똑똑합니다! –

2

당신은 이런 식으로 뭔가를 할 수 :

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

당신은이처럼 tmux.conf의 핵심이 결합 할 수 https://gist.github.com/2773454

그러나이 작업은 모든 창마다 실행되지만 그에 따라 조정할 수 있습니다.

모두 당신이 성취하고자하는 것에 달려 있습니다. 이것에 대한 예는 모든 창에서 ~/.zsh 소스를 얻는 것입니다.