Tmux 插入窗格编号

Tmux 插入窗格编号

假设我有一个tmux包含 3 个窗格的窗口,每个窗格都有一个不同计算机上的终端,我想配置它们的 IP 地址,如下所示:

`$ ifconfig eth0 192.168.0.<pane_number>

我通常同步窗格以同时在所有窗格上写入,因此我想按一些组合键,然后在每个窗格上插入特定的窗格编号(将在窗格 0 上插入 0,在窗格 1 上插入 1.. .)

有这样的东西吗?

答案1

可能有一个更简单的方法,但这可行。输入你的~/.tmux.conf,例如

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

然后键入C-b m应插入窗格编号。#D被替换为%0for pane 0 等等。${v#%}就是删除该%部分,假设是bash shell。要绑定到某个键而不需要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" 

相关内容