Tmuxp

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

tmuxptmux ターミナルマルチプレクサのセッションマネージャです。tmuxinatorteamocil と同じ類のプログラムです。

インストール

tmuxp パッケージをインストールしてください。

設定

tmuxp は JSON や YAML で設定できます。YAML のマークアップは tmuxinator と似ています。

ディレクトリに保存した設定を使用する方法は3つあります:

  1. tmuxp load filetmuxp load ../myconfig で、絶対・相対パスでファイルを指定する。
  2. $TMUXP_CONFIGDIR のパス (デフォルトでは $HOME/.tmuxp) に設定を保存して tmuxp load basename で読み込む。例えば tmuxp load myconfig$HOME/.tmuxp/myconfig.yaml がロードされます。
  3. プロジェクトのディレクトリに .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 の設定に関してはドキュメントに 様々な例 が載っています。

参照