如何让tmux同组新会话自动继承原会话的当前窗口?
解决tmux共享窗口组新会话继承原会话当前窗口的问题
默认情况下,使用tmux new-session -t <session>创建共享窗口组的新会话时,tmux会将新会话的当前窗口设为组内的第一个窗口,而非原会话的当前窗口。要实现自动继承原会话的当前窗口,可以通过以下方法:
一次性命令实现
直接组合命令获取原会话的当前窗口索引,再创建新会话并定位到该窗口:
tmux new-session -t overmind:$(tmux display-message -p -t overmind '#I')
tmux display-message -p -t overmind '#I':输出overmind会话中当前窗口的索引(示例中为2)new-session -t overmind:<索引>:创建共享overmind窗口组的新会话,并将当前窗口设为指定索引的窗口
如果是针对Overmind的独立tmux服务器操作(外部执行命令时),需指定服务器套接字:
tmux -L overmind new-session -t overmind:$(tmux -L overmind display-message -p -t overmind '#I')
配置tmux快捷键(持久化方案)
在~/.tmux.conf中添加绑定,后续在任意会话中按快捷键即可创建继承当前窗口的共享会话:
bind-key C-n new-session -t '#{session_name}':$(tmux display-message -p -t '#{session_name}' '#I')
保存配置后,执行tmux source ~/.tmux.conf生效。之后在会话中按下Ctrl+b C-n,就能快速创建共享当前会话窗口组且继承当前窗口的新会话。
内容的提问来源于stack exchange,提问作者Duane J
相关产品推荐
相关产品推荐

