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 的捐款選項。