Подтвердить что ты не робот

Tmux синхронизирует некоторые, но не все панели

В tmux у меня есть таблица с тремя столбцами и двумя строками, верхняя строка - это ssh-соединение со всем моим сервером, а нижняя часть - все те же серверы, которые работают сверху.

Я пытаюсь синхронизировать верхнюю строку, поэтому, если я вхожу в команду, все три панели копируют одну и ту же команду, я пробовал синхронизацию, но, как говорится в man-страницах, она будет запускать команды через все панели, которые затем проигрывают с помощью все мои "вершины" в ряду хлопка.

Есть ли способ синхронизировать набор панелей?

4b9b3361

Ответ 1

Это не совсем то, что вы ищете, но оно довольно близко. Идея состоит в том, чтобы привязать ключ к набору команд для:

  • Запрос командной строки
  • Используйте "панель выбора", чтобы выбрать первую панель верхнего уровня.
  • Используйте "send-keys" для запуска команды
  • Повторите шаги 2 и 3 для других верхних уровней.

Вот как выглядит команда

bind R command-prompt -p "Command :" "select-pane -t 0 \; send-keys "%1" C-m \; select-pane -t 2 \; send-keys "%1" C-m \; select-pane -t 4 \; send-keys "%1" C-m "

Ниже приведен полный пример, позвольте настроить 6 панелей, по 2 строки по 3:

$ tmux new -s 'top_n_tail' \; split-window -h \; split-window -h \; select-layout even-horizontal \; detach
$ tmux att -t 'top_n_tail' \; select-pane -t 0 \; split-window \; detach
$ tmux att -t 'top_n_tail' \; select-pane -t 2 \; split-window \; detach
$ tmux att -t 'top_n_tail' \; select-pane -t 4 \; split-window

В командной строке tmux (C-b:) привяжите "R" к набору команд tmux, которые принимают вашу команду bash и отправляют ее на некоторые панели:

:bind R command-prompt -p "Command :" "select-pane -t 0 \; send-keys "%1" C-m \; select-pane -t 2 \; send-keys "%1" C-m \; select-pane -t 4 \; send-keys "%1" C-m "

Теперь, когда вы нажмете C-b R, вам будет предложено ввести команду

Prompt to enter command

который будет работать только в верхних 3 панелях