这是向 Byobu 作者 @Dustin Kirkland 提出的开放功能请求
Byobu可以保存布局,这对我来说有点用处。但我也想保存当前布局的工作目录。如果它可以重新运行 ssh 登录或恢复 vim/emacs 当前打开的文件,那就更好了。有了这个功能,我可以有一个servers布局来快速登录到我经常使用的服务器,或者打开projectABC布局来快速进入项目并从我离开的地方开始工作。
快速搜索表明这个几乎完全一样的想法已经通过tmux-resurrect实现了,我只是不知道如何在 Byobu 中使用它。然而,另一件事是,我想用特定名称保存布局或会话,而不仅仅是所有内容的一个名称。
根据这篇文章,一个名为的 Ruby gemteamocil似乎完全符合我的要求
https://blog.shameerc.com/2014/05/better-productivity-with-tmux-and-teamocil
我在这里总结了保留内容的基本部分:
sudo gem install teamocil
Run Code Online (Sandbox Code Playgroud)
最有可能的是,您的办公室和个人项目会有不同的工作流程。Teamocil 允许您为每种情况创建预定义的配置,并且您只需启动 teamocil 即可设置整个工作区。您可以创建 teamocil 配置,例如 ~/.teamocil 或 ~/.teamocil/office.yml、~/.teamocil/personal.yml 等。例如,当我在办公室开始工作时,我将首先移动到我的项目文件夹并从版本控制系统进行更新。在其他一些终端中,我将连接到不同的服务器,等等。使用 Teamocil,我将使用 $ teamocil --edit office 为 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 user@prodserver1.com"]
focus: true
- cmd: ["ssh -i testkey.pem user@testserver.com"]
- cmd: ["ssh -i devkey.pem dev@devserver.com"]
Run Code Online (Sandbox Code Playgroud)
要启动它,首先启动 tmux 会话并从 tmux 会话内部运行,
$ teamocil office
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2293 次 |
| 最近记录: |