Номер панели вставки Tmux

Допустим, у меня есть окно tmux с 3 панелями , на каждом терминале на другом компьютере, и я хочу настроить их IP-адрес следующим образом:

`$ ifconfig eth0 192.168.0.<pane_number>

Обычно я синхронизирую панели, чтобы писать на них одновременно, поэтому я хотел бы нажать какую-нибудь комбинацию клавиш и затем вставьте конкретный номер панели на каждую панель (вставьте 0 на панели 0, 1 на панели 1 ...)

Есть ли такие вещи?

0
28.11.2016, 10:29
1 ответ

Возможно, есть более простой метод, но он работает. Введите свой ~ / .tmux.conf , например,

bind-key m run-shell 'v=#D; tmux send-keys ${v#%}'

. Затем введите C-b m , чтобы вставить номер панели. #D заменяется на % 0 для панели 0 и так далее. $ {v #%} предназначен для удаления части % , предполагающей оболочку bash. Для привязки к ключу без необходимости C-b , например, для C-o , используйте bind-key -n C-o ... .


Чтобы иметь разные номера на каждой панели при синхронизации, вам необходимо временно отключить синхронизацию, отправить символ на каждую панель и восстановить синхронизацию. Вот сценарий bash, скажем mytmux , вы можете ввести свой PATH и позвонить из своего ~ / .tmuxrc .

#!/bin/bash
# tmux helper.  http://unix.stackexchange.com/a/325816/119298
if [[ $(tmux show-window-option synchronize-panes) == *on ]]
then    tmux set-window-option -q synchronize-panes off
        restore="tmux set-window-option -q synchronize-panes on"
fi
tmux list-panes -F  '#{window_index} #{pane_index}' |
while read winid pane
do    tmux send-keys -t $winid.$pane $pane
done
$restore

Затем вы можете настроить привязку для C-b n в своей конфигурации:

bind-key n run-shell "mytmux" 
3
28.01.2020, 02:34

Теги

Похожие вопросы