在 tmux 启动时自动拆分窗口

在 tmux 启动时自动拆分窗口

我有一个与这个人类似的问题https://stackoverflow.com/questions/5609192/how-to-set-up-tmux-so-that-it-starts-up-with-specified-windows-opened但更加具体。

我想在单个 tmux.conf 文件中执行此操作,无需任何键绑定即可根据@jasonwryan 的回答加载特定会话。

那么,我该怎么做呢?我设置了 tmux.conf:

new  -s mySession -n myWindow
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

但是当我启动 tmux 时它不会分割窗口。


更新:我认为附加功能不起作用。如果我放弃第二个“foo”窗口并简化我的 tmux.conf:

# set panes the way I want them
# if I started tmux by just running 'tmux' in command line, it automatically creates session(0) so...

new -s mySession -n myWindow    # ... create new session (1) with new window (0)
select-window -t myWindow       # select myWindow (0)
splitw -v -p 50 -t myWindow     # split myWindow (0) vertically into halves(50 percent)


attach -s mySession             # error usage: attach-session [-dr] [-t target-session]
attach-session -t mySession     # so this doesn't work either
switch -t mySession             # nor doesn't work

那么我遗漏了什么?如果我在 tmux 启动后通过按 CTRL+bs 然后选择 mySession 手动切换会话,则窗格会被拆分,并且一切都很正常。那么如何从 session(0) 附加到 mySession 或切换到 mySession?

答案1

创建新会话、创建新窗口并将窗口拆分为 2 个窗格后,您仍需要附加到会话。添加

attach -s mySession

到上面显示的命令的末尾。

答案2

您必须告诉 tmux 启动哪个会话,但不是像其他人建议的那样在这个配置文件中启动,而是使用启动 tmux 的命令。

使用以下命令。

tmux -f <your tmux.conf file> attach -t mySession

我认为不可能从配置文件内部执行此操作,因为这适用于当前会话,但如果您使用简单命令启动它tmux,则会创建一个新的会话。

相关内容