tmux会话管理器,允许用户通过简单的配置文件保存和加载tmux会话。
项目描述
tmuxp
tmux会话管理器,允许用户通过简单的配置文件保存和加载tmux会话。由libtmux提供支持。
对tmux不熟悉吗? 《tmux之道》可在Leanpub和Amazon Kindle上购买。在网络上免费阅读和浏览此书。
有空闲时间吗? 帮助我们进行问题分类和代码审查以及跟踪器。请参阅问题 #290!
安装
pip
$ pip install --user tmuxp
Homebrew
$ brew install tmuxp
Debian / ubuntu
$ sudo apt install tmuxp
Nix
$ [[ -z $(which tmux) ]] && (nix-env -i tmux && nix-env -i tmuxp) || nix-env -i tmuxp
在repology上查找适合您发行版的软件包: https://repology.org/project/tmuxp/versions
开发版本
-
pip:
$ pip install --user --upgrade --pre tmuxp
-
pipx:
$ pipx install --suffix=@next 'tmuxp' --pip-args '\--pre' --force
然后使用
tmuxp@next load [会话名称]
。
加载tmux会话
通过json和YAML加载tmux会话,tmuxinator和teamocil风格。
session_name: 4-pane-split
windows:
- window_name: dev window
layout: tiled
shell_command_before:
- cd ~/ # run as a first command in all panes
panes:
- shell_command: # pane no. 1
- cd /var/log # run multiple commands in this pane
- ls -al | grep \.log
- echo second pane # pane no. 2
- echo third pane # pane no. 3
- echo forth pane # pane no. 4
保存为 mysession.yaml,然后加载
$ tmuxp load ./mysession.yaml
具有 .tmuxp.yaml 或 .tmuxp.json 的项目通过目录加载
$ tmuxp load path/to/my/project/
一次加载多个(在后台,提供附加上一个的选项)
$ tmuxp load mysession ./another/project/
命名会话
$ tmuxp load -s session_name ./mysession.yaml
用户级配置
tmuxp会检查用户目录中的配置
$TMUXP_CONFIGDIR
,如果已设置$XDG_CONFIG_HOME
,通常是 $HOME/.config/tmuxp/$HOME/.tmuxp/
通过使用文件名在任何地方加载tmuxp配置,假设 ~/.config/tmuxp/mysession.yaml(或 .json)
$ tmuxp load mysession
查看作者的tmuxp配置和项目的tmuxp.yaml。
Shell
1.6.0中新加入:
tmuxp shell
启动到预先加载了附加服务器、会话和窗口的python控制台,这些都在 libtmux 对象中。
$ tmuxp shell
(Pdb) server
<libtmux.server.Server object at 0x7f7dc8e69d10>
(Pdb) server.sessions
[Session($1 your_project)]
(Pdb) session
Session($1 your_project)
(Pdb) session.name
'your_project'
(Pdb) window
Window(@3 1:your_window, Session($1 your_project))
(Pdb) window.name
'your_window'
(Pdb) window.panes
[Pane(%6 Window(@3 1:your_window, Session($1 your_project)))
(Pdb) pane
Pane(%6 Window(@3 1:your_window, Session($1 your_project))
支持PEP 553 breakpoint()
(包括 PYTHONBREAKPOINT
)。也支持通过 -c
直接执行命令
$ tmuxp shell -c 'print(window.name)'
my_window
$ tmuxp shell -c 'print(window.name.upper())'
MY_WINDOW
在CLI文档中了解更多关于tmuxp shell的信息。
预加载钩子
运行自定义启动脚本(例如在加载tmux之前安装项目依赖项。请参阅bootstrap_env.py和before_script示例)
分离状态加载
您也可以通过传递-d
标志在后台加载会话
截图
冻结tmux会话
快照您的tmux布局、面板路径和窗口/会话名称。
$ tmuxp freeze session-name
有关冻结tmux会话的更多信息。
转换会话文件
将会话文件从yaml转换为json,反之亦然。
$ tmuxp convert filename
这将提示您确认并显示将要写入的新文件。
您可以自动确认提示。在这种情况下,将不会显示预览。
$ tmuxp convert -y filename
$ tmuxp convert --yes filename
插件系统
tmuxp有一个插件系统,允许自定义行为。有关插件系统的更多信息。
调试助手
load
命令提供了一种将输出记录到日志文件以进行调试的方法。
$ tmuxp load --log-file <log-file-name> .
收集系统信息,以便与Github问题一起提交
$ tmuxp debug-info
------------------
environment:
system: Linux
arch: x86_64
# ... so on
文档/阅读材料
查看快速入门。
想了解更多关于tmux本身的信息?在线阅读《Tmux之道》。
捐赠
您的捐赠支持新功能的发展、测试和支持。您的钱将直接用于项目的维护和发展。如果您是个人,请随意给出您认为合适的金额,以反映您从项目中获得的价值。
在https://git-pull.com/support.html查看捐赠选项。
项目详情
- tmux支持:1.8+
- python支持:>= 3.8, pypy, pypy3
- 源:https://github.com/tmux-python/tmuxp
- 文档:https://tmuxp.git-pull.com
- API:https://tmuxp.git-pull.com/api.html
- 变更日志:https://tmuxp.git-pull.com/history.html
- 问题:https://github.com/tmux-python/tmuxp/issues
- 测试覆盖率:https://codecov.io/gh/tmux-python/tmuxp
- PyPI: https://pypi.python.org/pypi/tmuxp
- Open Hub: https://www.openhub.net/p/tmuxp-python
- Repology: https://repology.org/project/tmuxp/versions
- 许可证: MIT。
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源分发
构建分发
tmuxp-1.47.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1d863a08450fa5956f54af64578121c38c0693961f2154a4674faaa9fe8dcf87 |
|
MD5 | 5b2ad66c75e18de5396388b7b5c57413 |
|
BLAKE2b-256 | 2e5b66ceb26459b9324bbd425c673170172066f08a6c180c8da166de6a44cf45 |
tmuxp-1.47.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 879afb04590b06f27ebd2e6f7d66e01456041876a655f7cdf2e29b871f3b03b6 |
|
MD5 | 5ca920c5fa6ae81683e557c6b90bc184 |
|
BLAKE2b-256 | ddd5e08dd15a49f983b23ae5443e2e07d192ec39853a2288bfabac8aa2e0e558 |