My tmux セットアップ
最近は mosh+tmuxでiPadからいつでもどこでも再開できるのが楽しいです。
コマンド早見表
| 操作 | コマンド |
|---|---|
| 開始する | tmux |
| 新しいセッションを開始する | tmux new -s name |
| セッションまたはペインを終了する (終了してターミナルに戻る) | exit |
| 特定のセッションを終了する | tmux kill-session -t name |
| セッションを残したまま抜ける (デタッチ) | Ctrl+b → d |
| セッションに戻る (アタッチ) | tmux a |
| 現在のセッションを一覧表示 | tmux ls |
| セッション名をリネーム | Ctrl+b → $ |
| 左右に分割 | Ctrl+b → % |
| 上下に分割 | Ctrl+b → " |
| 今のペインを閉じる | Ctrl+b → x → y |
| ペイン間を移動 | Ctrl+b → 矢印キー |
| ウィンドウ一覧を表示 | Ctrl+b → w |
| 次のウィンドウ | Ctrl+b → n |
| 前のウィンドウ | Ctrl+b → p |
| 新しいウィンドウ | Ctrl+b → c |
| ウィンドウ番号を表示 | Ctrl+b → q |
| tmux.conf リロード | Ctrl+b → : → source-file ~/.tmux.conf |
| コマンドモードからセッションを終了 | Ctrl+b → : → kill-session |
tmux.conf
# =============================================================
# Gruvbox Dark テーマ
# =============================================================
# 256色 + True Color
set -g default-terminal "screen-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
# ステータスバーを上に
set -g status-position top
# ステータス更新間隔(秒)
set -g status-interval 5
# =============================================================
# ステータスバー全体
# =============================================================
set -g status-style bg=#282828,fg=#ebdbb2
set -g status-left-length 40
set -g status-right-length 100
# 左:セッション名
set -g status-left "#[bg=#fabd2f,fg=#282828,bold] #S #[bg=#282828,fg=#fabd2f]\ue0b0#[default] "
# 右:Gitブランチ + メモリ使用量 + 日時
set -g status-right "#[bg=#282828,fg=#83a598]\ue0b2#[bg=#83a598,fg=#282828] #(git -C #{pane_current_path} branch --show-current 2>/dev/null || echo '—') #[bg=#83a598,fg=#b8bb26]\ue0b2#[bg=#b8bb26,fg=#282828] #(free -h | awk '/Mem:/{print $3\"/\"$2}') #[bg=#b8bb26,fg=#fabd2f]\ue0b2#[bg=#fabd2f,fg=#282828] %Y-%m-%d %H:%M "
# =============================================================
# ウィンドウタブ
# =============================================================
set -g window-status-separator ""
set -g window-status-format "#[bg=#3c3836,fg=#a89984] #I #{?#{==:#{pane_current_command},nano},#W,#{b:pane_current_path}} #[default]"
set -g window-status-current-format "#[bg=#fe8019,fg=#282828,bold] #I #{?#{==:#{pane_current_command},nano},#W,#{b:pane_current_path}} #[bg=#282828,fg=#fe8019]\ue0b0#[default]"
# =============================================================
# ペイン:アクティブを強調
# =============================================================
# ペインタイトルバーを有効化(アクティブ識別に使用)
set -g pane-border-status top
set -g pane-border-format "#[fg=#edc66d] #{pane_index} #{pane_current_command} #[fg=#a89984]#{b:pane_current_path} "
set -g pane-active-border-style "#[bg=#fabd2f,fg=#282828,bold] #{pane_index} #{pane_current_command} #[default]"
# 境界線の色:通常ペインは暗く、アクティブは黄色
set -g pane-border-style fg=#504945
set -g pane-active-border-style fg=#fabd2f,bold
set -g pane-border-lines heavy
# ペイン番号表示(Ctrl+b q)の色
set -g display-panes-colour gray
set -g display-panes-active-colour yellow
set -g display-panes-time 2000
# ペイン幅変更するキーセット (Alt)
bind-key -n M-Left resize-pane -L 2
bind-key -n M-Right resize-pane -R 2