Жоден із наведених відповідей не працював для мене (tmux v2.3), але це було зроблено з командного рядка bash:
for _pane in $(tmux list-panes -a -F '#{pane_id}'); do \
tmux clear-history -t ${_pane} ; done
Більш узагальнений сценарій для команд tmux, відмінних від 'clear-history', просто замінить цей елемент параметром, наприклад. $ 1. Будьте обережні, якщо ви збираєтесь написати сценарій для обробки серії команд tmux, оскільки "-t $ {_ панель}" потрібно буде застосувати до кожної.
Зауважте, що -a
параметр to tmux list-panes
потрібно для покриття всіх панелей у всіх вікнах протягом усіх сеансів. Без цього зачіпатимуть лише панелі у вашому поточному вікні tmux. Якщо у вас відкрито більше одного tmux сеансу і ви хочете застосувати команду до панелей у межах поточного сеансу, замініть -a
на -s
(Все на сторінці man tmux).
У мене немає модних точок, щоб коментувати кожен із вищезазначених відповідей, тож ось чому вони не працювали на мене:
Проблема, з якою у мене була відповідь @ shailesh-garg, полягала в тому, що синхронізація стосується лише команд, що видаються в межах панелей, а не команд tmux, виданих за допомогою Ctrl-B :
яких знаходяться поза панелями.
Три проблеми, які у мене були з відповіддю @kshenoy, полягали в тому, що:
- він надсилає натискання клавіш всередині панелі, а не операції tmux на цій панелі, так, наприклад, якщо в панелі запущена оболонка bash, а один використовував скрипт для надсилання "ясної історії", це були б натискання клавіш, які з'явиться в командному рядку bash. Робота може полягати в тому, щоб надіслати "чітку історію tmux" або попередньо відкласти "tmux" до "$ @", але я не відредагував відповідь через інші мої проблеми з відповіддю;
- Я не міг зрозуміти, як надіслати персонаж нового рядка, не буквально перериваючи лінію;
- Навіть коли я це робив, надсилання "чіткої історії tmux" не мала ефекту.