Tmuxp
ナビゲーションに移動
検索に移動
関連記事
tmuxp は tmux ターミナルマルチプレクサのセッションマネージャです。tmuxinator や teamocil と同じ類のプログラムです。
インストール
設定
tmuxp は JSON や YAML で設定できます。YAML のマークアップは tmuxinator と似ています。
ディレクトリに保存した設定を使用する方法は3つあります:
tmuxp load fileやtmuxp load ../myconfigで、絶対・相対パスでファイルを指定する。$TMUXP_CONFIGDIRのパス (デフォルトでは$HOME/.tmuxp) に設定を保存してtmuxp load basenameで読み込む。例えばtmuxp load myconfigで$HOME/.tmuxp/myconfig.yamlがロードされます。- プロジェクトのディレクトリに
.tmuxp.yamlを保存してtmuxp load path/to/dirで読み込む (VCS のプロジェクトフォルダごとに設定を保存できます。)
4つのペインを含むサンプル YAML 設定:
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
また、tmuxp では before_script を使うことで tmux のセッションを開始する前に任意のスクリプトを実行することができます。例えば tmuxp プロジェクト自体から の例として、プロジェクト用に virtualenv (python のパッケージ環境) を作成して依存パッケージをインストールする bootstrap スクリプト が存在します。さらに、セッションはプロジェクトの virtualenv を全てのペインに設定します:
session_name: tmuxp
start_directory: ./ # load session relative to config location (project root).
before_script: ./bootstrap_env.py # ./ to load relative to project root.
windows:
- window_name: tmuxp
focus: True
layout: main-horizontal
options:
main-pane-height: 35
shell_command_before:
- '[ -d .venv -a -f .venv/bin/activate ] && source .venv/bin/activate'
panes:
- focus: true
- pane
- make watch_test
- window_name: docs
layout: main-horizontal
options:
main-pane-height: 35
start_directory: doc/
shell_command_before:
- '[ -d ../.venv -a -f ../.venv/bin/activate ] && source ../.venv/bin/activate'
panes:
- focus: true
- pane
- make serve
- make watch
YAML や JSON の設定に関してはドキュメントに 様々な例 が載っています。
参照
- 公式ホームページ - ドキュメントやサンプルがあります。
- GitHub
- PyPI パッケージ