从文件加载tmux会话

时间:2012-04-24 12:34:52

标签: terminal tmux

我希望能够在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不会将会话分开,这对我来说是必不可少的)。

谢谢!

2 个答案:

答案 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可以将事情分开。