将带有窗格的模板窗口添加到现有的 tmux 会话

将带有窗格的模板窗口添加到现有的 tmux 会话

目前,我有一些脚本可以打开一个新的 tmux 会话,并在该会话中填充新窗口和窗格。这很好用,但有时我只想使用一两个窗口进行监控,而不想创建一个全新的会话并切换到它。

我的问题是,是否有可能创建一个在现有会话上创建新窗口的脚本?

我尝试使用类似这样的脚本创建一个针对特定会话的新窗口:

tmux new-window -t "${current_session}" "${new_window}"

这会使目标会话上的屏幕闪烁,但不会添加任何窗口。我尝试在目标会话上使用以下方法,但没有成功。

:refresh-client

还尝试使用 send-keys,但这似乎将键码作为纯文本发送(在目标会话中使用 vim 捕获):

^B:new-window

更新:使用第一种方法,在目标会话的屏幕闪烁期间,我可以看到最后一个 tmux 选项卡确实在几分之一微秒内更改为“${new_window}”标签,但它看起来位于当前选项卡的位置。

答案1

是的,您使用new-window

tmux neww -tmysession: -- emacs

如果它使客户端重新绘制但窗口未创建,则可能是您正在运行的命令正在退出。您确定您有正确的命令并且它在新窗口的 PATH 中吗?尝试使用进行sleep 1000测试,或者根本不给出命令,以便 tmux 启动 shell。

相关内容