「Tmuxp」の版間の差分
ナビゲーションに移動
検索に移動
Kusakata.bot (トーク | 投稿記録) (Pkg/AUR テンプレートの更新) |
(→設定: 同期) |
||
(同じ利用者による、間の1版が非表示) | |||
10行目: | 10行目: | ||
{{Pkg|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時点における最新版
関連記事
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 パッケージ