2

我希望能够在 tmux 中加载保存在文件中的会话,包括窗口/窗格和 shell 设置。我在 ~/.tmux/my_session 中有这个:

new -d -s test1
neww -k -t test1:1 top

new -d -s test2
neww -k -t test2:1 -n '2w1' 
neww -t test2 -n '2w2' 

现在我在 tmux 中获取它,这工作正常:我有两个分离的会话 test1(有一个窗口)和 test2 有 2 个窗口。但我还想实际运行一些命令,例如将最后一行替换为:

neww -t test2 -n '2w2' 'cd ~/work; ./myscript.zsh ; ls'

这样它就可以进入目录,运行一些设置脚本,ls保持打开状态以供进一步使用。根据手册,但是命令完成后窗口会自动关闭。有一个选项remain-on-exit,但不清楚我如何将它与它结合起来以neww使其真正起作用......

还手动列出了一个 -c 标志用于neww设置起始目录,但我homebrew安装tmux v1.6的似乎无法识别它。

teamocil似乎能够做到这一点,所以它必须是可能的(但teamocil不会将会话分开,这对我来说是必不可少的)。

谢谢!

4

2 回答 2

2

答案是发送密钥:

new -d -s test1
neww -k -t test1:1 -n '1w1'
send-keys -t test1:1 "echo '1w1'" C-m

new -d -s test2
neww -k -t test2:1 -n '2w1'
neww -t test2 -n '2w2'
send-keys -t test2:1 "echo '2w1'" C-m
send-keys -t test2:2 "echo '2w2'" C-m

display-message "Sessions loaded!"
于 2012-04-25T22:43:16.860 回答
1

我很确定 tmuxinator 可以将事情分开。

于 2012-05-01T11:30:35.603 回答