这是向 Byobu 作者 @Dustin Kirkland 提出的开放功能请求
Byobu 可以保存布局,这对我来说很有用。但我还想保存当前布局的工作目录。如果它可以重新运行 ssh 登录或恢复 vim/emacs 当前打开的文件就更好了。有了这个功能,我可以使用布局servers
快速登录我通常使用的服务器,或者打开projectABC
布局快速进入项目并从我上次中断的地方开始工作。
快速搜索显示,这个几乎完全一致的想法已经实现tmux-复活我只是还不知道如何将它与 Byobu 一起使用。不过,还有一点不同,我想用特定名称保存布局或会话,而不是所有内容都使用一个名称。
答案1
根据这篇文章,一个名为的 Ruby 宝石teamocil
似乎完全符合我的要求
https://blog.shameerc.com/2014/05/better-productivity-with-tmux-and-teamocil
为了保留内容,我在这里总结了必要的部分:
sudo gem install teamocil
最有可能的是,您将针对办公和个人项目使用不同的工作流程。Teamocil 允许您为每种情况创建预定义配置,并且只需启动 teamocil 即可设置整个工作区。您可以创建 teamocil 配置,如 ~/.teamocil 或 ~/.teamocil/office.yml、~/.teamocil/personal.yml 等。例如,当我在办公室开始工作时,我将首先转到我的项目文件夹并从版本控制系统进行更新。在其他一些终端中,我将连接到不同的服务器,依此类推。使用 Teamocil,我将使用 $ teamocil --edit office 为办公室创建一个配置文件 office.yml,并添加以下内容
session:
name: "Office"
windows:
- name: "Local"
root: "~/Workplace/office"
layout: tiled
panes:
- cmd: ["ls"]
focus: true
- cmd: ["cd application; svn up ."]
- cmd: ["cd monitor; git pull origin master"]
- name: "Remote"
root: "~/Workplace/office"
layout: tiled
panes:
- cmd: ["ssh -i prodkey.pem [email protected]"]
focus: true
- cmd: ["ssh -i testkey.pem [email protected]"]
- cmd: ["ssh -i devkey.pem [email protected]"]
要启动此功能,首先启动 tmux 会话,然后在 tmux 会话内部运行,
$ teamocil office