tmux 的会话管理器,允许用户通过简单的配置文件保存和加载 tmux 会话。由 libtmux 提供支持。
tmux 新手? tmux 之道可在 Leanpub 和 Amazon Kindle 上找到。在网络上免费阅读和浏览该书。
有空闲时间吗?帮助我们分类、代码审查和跟踪器。请参阅问题#290!
点:
$ pip install --user tmuxp
自制:
$ brew install tmuxp
Debian / ubuntu:
$ sudo apt install tmuxp
尼克斯:
$ [[ -z $( which tmux ) ]] && (nix-env -i tmux && nix-env -i tmuxp) || nix-env -i tmuxp
在repology上找到您的发行版的软件包:https://repology.org/project/tmuxp/versions
开发版本:
点:
$ pip install --user --upgrade --pre tmuxp
点:
$ pipx install --suffix=@next ' tmuxp ' --pip-args ' --pre ' --force
然后使用tmuxp@next load [session]
。
通过 json 和 YAML、tmuxinator 和 teamocil 风格加载 tmux 会话。
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/
一次加载多个(在 bg 中,建议最后附加):
$ 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。
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 布局、窗格路径和窗口/会话名称。
$ 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 的捐赠选项。