tmuxp

tmux session manager

_images/tmuxp-demo.gif

Load a tmux session

Load tmux sessions via json and YAML, tmuxinator and teamocil style.

session_name: 4-pane-split
windows:
- window_name: dev window
  layout: tiled
  shell_command_before:
    - cd ~/
  panes:
    - shell_command:
        - cd /var/log
        - ls -al | grep \.log
    - pwd
    - pwd
    - pwd

Save as mysession.yaml. And load:

$ tmuxp load ./mysession.yaml

Sessions in ~/.tmuxp/ can use names:

$ tmuxp load mysession

Projects with .tmuxp.yaml or .tmuxp.json load via directory:

$ tmuxp load path/to/my/project/

Load multiple at once (in bg, offer to attach last):

$ tmuxp load mysession ./another/project/

simple, very elaborate config examples

Store configs in (~/.tmuxp) or include in your project as ~/.tmuxp.{yaml,json}. See author’s tmuxp configs and the the projects’ tmuxp.yaml.

bootstrap project dependencies before loading tmux. See the bootstrap_env.py and before_script example

Load sessions in the background by passing -d flag

Freeze a tmux session

snapshot your tmux layout, pane paths, and window/session names.

$ tmuxp freeze SESSION_NAME

See more about freezing tmux sessions.