Това е начин за изпращане на една и съща команда до всички прозорци в tmux, а не до всички панели в прозореца. synchronize-panes - изпраща команда до всички панели в един прозорец. Имам нужда от нещо като "в" на екрана.
Изпратете команда до всички прозорци в tmux
Отговори (2)
Винаги можете да направите нещо подобно:
session=mysession
message="hello world"
tmux list-windows -t $session|cut -d: -f1|xargs -I{} tmux send-keys -t $session:{} $message
Можете също така да свържете това към ключ във вашия tmux.conf по следния начин:
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\""
person
Alex Gaudio
schedule
06.05.2012
Това е страхотно - малко допълнение. Исках да направя същото, но да изпратя един и същ изход към всички панели във всеки прозорец. Прави се лесно с настройката
synchronize-panes
!
- person dsummersl; 01.02.2013
Можете също така да получите текущата сесия чрез команда:
tmux display -p "#S"
- person NgaNguyenDuy; 25.07.2016
Ако искате действително да изпълните командата, добавете
Enter
към горната команда. Но след това ще премахне интервалите в съобщението. Можете да направите функция като тази, за да се справите с тези точки: function keys { tmux list-windows -t $session|cut -d: -f1|xargs -I{} tmux send-keys -t $session:{} "$@" Enter}
. Вижте този въпрос и съответно този въпрос за повече. Но решението на github по-долу е по-задълбочено!
- person Blue Raspberry; 01.11.2018
Можете да направите нещо подобно: https://gist.github.com/2773454
Но това се изпълнява за всеки панел, но можете да коригирате съответно.
Всичко зависи от това, което се опитвате да постигнете, за това пример за това, което искам да постигна, е да изведа ~/.zsh във всички панели.
person
DebugXYZ
schedule
23.05.2012
Вече нямам достъп до тази връзка - има ли нова?
- person Blue Raspberry; 03.11.2020