tmux のセッション マネージャー。これにより、ユーザーは簡単な設定ファイルを通じて tmux セッションを保存およびロードできます。 libtmux を利用しています。
tmux を初めて使用しますか? The Tao of 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:
$ 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/
複数を一度にロードします (バックグラウンドで、最後にアタッチすることを提案します):
$ tmuxp load mysession ./another/project/
セッションに名前を付けます。
$ tmuxp load -s session_name ./mysession.yaml
シンプルかつ非常に精巧な構成例
tmuxp はユーザー ディレクトリ内の構成をチェックします。
$TMUXP_CONFIGDIR
、設定されている場合$XDG_CONFIG_HOME
、通常は$HOME/.config/tmuxp/$HOME/.tmuxp/
~/.config/tmuxp/mysession.yaml (または.json ) を想定して、ファイル名を使用してどこからでも tmuxp 構成をロードします。
$ tmuxp load mysession
作成者の tmuxp 構成とプロジェクトの tmuxp.yaml を参照してください。
1.6.0 の新機能:
tmuxp shell
、libtmux オブジェクトに接続されたサーバー、セッション、ウィンドウがプリロードされた Python コンソールを起動します。
$ 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
tmuxp シェルの詳細については、CLI ドキュメントを参照してください。
カスタム起動スクリプトを実行します (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 で寄付オプションをご覧ください。