コンテンツにスキップ

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