使用工作目录保存布局/会话

使用工作目录保存布局/会话

这是向 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

相关内容