注解

tmuxp is usable but still needs your help reporting errors, bugs and usability feedback. If you encounter an error, please post on the Issue tracker.

介绍(About)

tmuxp帮助您管理您的文本工作区。

事实上,tmuxp也是一个构建于tmux之上的对象关系映射(ORM)。 终端用户可以使用YAML, JSON以及 dict 字典配置项来启动工作区 (就如同 tmuxinatorteamocil 所做的那样)。

您可以跳过本章,直接查看 快速入门(Quickstart)示例(Examples)

想深入了解更多或参与其中,不妨看看 API Reference开发及测试(Developing and Testing)

该开源软件遵守 BSD-licensed 许可,代码托管在 http://github.com/tony/tmuxp.

与 tmuxinator / teamocil 的异同(Differences from tmuxinator / teamocil)

注解

如果您是 teamocil / tmuxinator 的用户,想更加详细地比较异同, 不妨在github上 编辑该页面

相似之处(Similarities)

加载会话 都是根据配置文件中加载tmux会话(session)

YAML 支持YAML格式

简洁的语法 都支持在单独的命令中使用简短标记。

不足之处(Missing)

稳定性Stability 现阶段,tmuxinator 和 teamocil 相比于tmuxp要更加稳定,也更易于扩展开发。

ERB / 模板支持 teamocil 支持 ERB 标记。

版本支持 tmuxp 只支持 tmux >= 1.8 ,Teamocil 和 tmuxinator 可以支持更早期版本。

不同之处(Differences)

开发所用语言 tmuxp 使用 python。而 teamocil 和 tmuxinator 则使用 ruby。

工作区搭建过程Workspace building process teamocil 和 tmuxinator 直接通过shell命令行处理配置项。 而 tmuxp 则是通过ORM层来处理配置项。

其他特性(Additional Features)

CLI tmuxp的命令行接口支持tab补全,可以关闭和附加到会话(session)。 详见 其他命令(Other commands)

Import config导入配置文件 可以从 Teamocil / Tmuxinator [1] 导入配置文件。 详见 导入(Import)

冻结会话 支持会话(session)冻结,可以保存为YAML和JSON格式 [1] 。 详见 冻结会话(Freeze sessions)

JSON配置 支持JSON配置。 详见 示例(Examples)

基于ORM的API - 利用 tmux(>=1.8) 的唯一ID来标识窗格(pane),窗口(windows)和会话(session), 以创建关联视图的tumx对象: Server , Session , Window , Pane 。 详见 内部结构(Internals)

转换 $ tmuxp convert <filename> 可以互相转换JSON/YAML格式。

[1](1, 2) 冻结或导入会话是一个保存当前进度的好方法,有时可能要微调一下 - 毕竟没什么能代替一个用心制作的配置文件。

细微改动(Minor tweaks)

  • 编写最新版本tmux下的单元测试,以测试tmux的会话(session),窗口(window)和窗格(pane)的有效性。详见 Travis CI
  • 在tmux下可以加载或切换到新会话(session)。
  • 加载配置文件可以恢复会话(session)。
  • 可在 virtualenv / rvm / 其他命令下使用。
  • 使用 $ tmuxp load /full/file/path.json 可以从任何位置加载配置文件。
  • 使用 $ tmuxp load . 可以在当前目录下载入配置文件 .tmuxp.yaml.tmuxp.json
  • $ tmuxp -2, $ tmuxp -8 强行指定 tmux(1) 的配色。
  • $ tmuxp -L<socket-name>, $ tmuxp -S<socket-path> 可支持socket, $ tmuxp -f<config-file> 可加载配置文件