Tidak ada jawaban di atas yang berfungsi untuk saya (tmux v2.3), tetapi ini berhasil, dari baris perintah bash:
for _pane in $(tmux list-panes -a -F '#{pane_id}'); do \
tmux clear-history -t ${_pane} ; done
Skrip yang lebih umum, untuk perintah tmux selain dari 'clear-history' hanya akan mengganti elemen itu dengan parameter, misalnya. $ 1. Berhati-hatilah jika Anda bermaksud menulis skrip untuk menangani serangkaian perintah tmux, karena "-t $ {_ pane}" perlu diterapkan untuk masing-masingnya.
Perhatikan bahwa -a
parameter untuk tmux list-panes
diperlukan untuk mencakup semua panel di semua jendela di semua sesi. Tanpa itu, hanya panel di jendela tmux Anda saat ini yang akan terpengaruh. Jika Anda memiliki lebih dari satu sesi tmux terbuka dan hanya ingin menerapkan perintah ke panel dalam sesi saat ini, ganti -a
dengan -s
(Semuanya ada di halaman manual tmux).
Saya tidak memiliki mod poin untuk mengomentari langsung setiap jawaban di atas, jadi inilah mengapa mereka tidak bekerja untuk saya:
Masalah yang saya miliki dengan jawaban @ shailesh-garg adalah bahwa sinkronisasi hanya mempengaruhi perintah yang dikeluarkan dalam panel, bukan perintah tmux yang dikeluarkan menggunakan Ctrl-B :
yang berada di luar panel.
Tiga masalah yang saya miliki dengan jawaban @kshenoy adalah:
- ia mengirim penekanan tombol ke dalam panel, bukan ke operasi tmux panel itu, jadi misalnya, jika seseorang memiliki bash shell yang berjalan di panel dan satu menggunakan skrip untuk mengirim "clear-history", itu akan menjadi penekanan tombol yang akan muncul di baris perintah bash. Solusi untuk mengirim "tmux clear-history" atau ke pre-pend "tmux" ke "$ @", tetapi saya belum mengedit jawaban karena masalah saya yang lain dengan jawaban;
- Saya tidak tahu bagaimana cara mengirim karakter baris baru tanpa benar-benar melanggar garis;
- Bahkan ketika saya melakukan itu, mengirim "tmux clear-history" tidak berpengaruh.