我希望能够在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
结合起来才能真正起作用......
手动列出了neww
的-c标志来设置起始目录,但我的homebrew
已安装tmux v1.6
似乎无法识别它。
teamocil
似乎能够做到这一点,所以它必须是可能的(但teamocil
不会将会话分开,这对我来说是必不可少的)。
谢谢!
答案 0 :(得分: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!"
答案 1 :(得分:1)
我很确定tmuxinator可以将事情分开。