「Tmuxp」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(翻訳)
 
(→‎設定: 同期)
 
(2人の利用者による、間の2版が非表示)
9行目: 9行目:
 
== インストール ==
 
== インストール ==
   
{{Aur|tmuxp}} パッケージを[[インストール]]してください。
+
{{Pkg|tmuxp}} パッケージを[[インストール]]してください。
 
''tmuxp'' は以下のように [https://pip.pypa.io pip] を使ってインストールすることもできます:
 
 
$ pip install --user tmuxp
 
   
 
== 設定 ==
 
== 設定 ==
23行目: 19行目:
 
# {{ic|tmuxp load ''file''}} や {{ic|tmuxp load ../''myconfig''}} で、絶対・相対パスでファイルを指定する。
 
# {{ic|tmuxp load ''file''}} や {{ic|tmuxp load ../''myconfig''}} で、絶対・相対パスでファイルを指定する。
 
# {{ic|$TMUXP_CONFIGDIR}} のパス (デフォルトでは {{ic|$HOME/.tmuxp}}) に設定を保存して {{ic|tmuxp load ''basename''}} で読み込む。例えば {{ic|tmuxp load myconfig}} で {{ic|$HOME/.tmuxp/''myconfig''.yaml}} がロードされます。
 
# {{ic|$TMUXP_CONFIGDIR}} のパス (デフォルトでは {{ic|$HOME/.tmuxp}}) に設定を保存して {{ic|tmuxp load ''basename''}} で読み込む。例えば {{ic|tmuxp load myconfig}} で {{ic|$HOME/.tmuxp/''myconfig''.yaml}} がロードされます。
# プロジェクトのディレクトリに {{ic|.tmuxp.yaml}} を保存して {{ic|tmuxp load ''path/to/dir''}} で読み込む (VCS のプロジェクトフォルダごとに設定を保存できます)
+
# プロジェクトのディレクトリに {{ic|.tmuxp.yaml}} を保存して {{ic|tmuxp load ''path/to/dir''}} で読み込む (VCS のプロジェクトフォルダごとに設定を保存できます。)
   
  +
4つのペインを含むサンプル YAML 設定:
YAML の設定は以下のようになります:
 
   
 
session_name: 4-pane-split
 
session_name: 4-pane-split

2024年3月12日 (火) 02:35時点における最新版

関連記事

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 の設定に関してはドキュメントに 様々な例 が載っています。

参照