簡単なTMUXセッションセットアップ


Original post:

www.koffeinfrei.org/2021/08/14/easy-tmux-session-setup


開発のために、私は特定のTMUXセットアップを必要とします.私は、私のTMUXセッションセットアップを管理するために、Tmuxinatorを使いました.主に2つの理由のために、私はそれから変わりました.明らかに、それらのどれもツールの欠点です.
  • 私はプロジェクトごとのセットアップ
  • を必要としない
  • 私のセットアップはかなり単純です.そして、それは本当に依存関係
  • を正当化しません
    私が今持っているのはbashスクリプトで、私のtmuxセッションを全てのウィンドウと分割したウィンドウでブートストラップし、ツールを実行します.私のセットアップはtmuxコマンドを使用して非常に複雑ではないので、tmuxinatorが提供する宣言的なYAML構造を必要としません.
    これは私の注記tmux-devスクリプトです.
    #!/usr/bin/env bash
    
    # Create a tmux session
    tmux new-session -d
    
    # Start vim in the first window
    tmux send-keys 'vim' C-m
    
    # Create a 2nd window
    tmux new-window
    
    # Create a horizontal split in the 2nd window, with 75% / 25% width distribution
    tmux split-window -h -p 25
    
    # Start `git watch-status` in the right split
    tmux send-keys 'git watch-status' C-m
    
    # Split the right split vertically
    tmux split-window -v
    
    # Start `git watch-log` in the right bottom split
    tmux send-keys 'git watch-log' C-m
    
    # Focus the left split pane
    tmux select-pane -t 0
    
    # Create a 3rd window, without running a command
    tmux new-window
    
    # Go to the 1st window (vim) and put the focus on it
    tmux select-window -t 0
    tmux select-pane -t 0
    
    # Attach the session. Ready to start hacking
    tmux -2 attach-session -d
    
    上記のスクリプトからのtmuxセッションは以下のようになります.

    セットアップを定義する最も重要なコマンドは以下の通りです.
  • new-window :新しいウィンドウ
  • を作成する
  • split-window -h :水平分割ペインを作成する
  • split-window -v :垂直分割ペインを作成する
  • send-keys :コマンドを実行し、すなわちプログラム
  • を起動する