skills/tmux/SKILL.md
Terminal multiplexer mastery for sessions, windows, panes, and scripting. Use when user asks to "set up tmux", "split terminal", "tmux keybindings", "create tmux session", "tmux config", "tmux script", or any terminal multiplexing tasks.
npx skillsauth add 1mangesh1/dev-skills-collection tmuxInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Terminal multiplexing for sessions, windows, and panes.
# New session
tmux new -s dev
tmux new-session -s dev
# Detach from session
# Prefix + d (Ctrl-b, then d)
# List sessions
tmux ls
tmux list-sessions
# Attach to session
tmux attach -t dev
tmux a -t dev
# Kill session
tmux kill-session -t dev
# Rename session
# Prefix + $
tmux rename-session -t old new
# Switch between sessions
# Prefix + s (session list)
# Prefix + ( (previous session)
# Prefix + ) (next session)
# Prefix = Ctrl-b (default)
# New window
# Prefix + c
# Switch windows
# Prefix + 0-9 (by number)
# Prefix + n (next)
# Prefix + p (previous)
# Prefix + w (window list)
# Prefix + l (last window)
# Rename window
# Prefix + ,
# Close window
# Prefix + &
# Or: exit
# Move window
# Prefix + . (move to number)
# Split horizontal
# Prefix + "
# Split vertical
# Prefix + %
# Navigate panes
# Prefix + arrow keys
# Prefix + o (cycle)
# Prefix + q (show numbers, then press number)
# Resize panes
# Prefix + Ctrl-arrow (resize by 1)
# Prefix + Alt-arrow (resize by 5)
# Zoom pane (toggle fullscreen)
# Prefix + z
# Close pane
# Prefix + x
# Or: exit
# Convert pane to window
# Prefix + !
# Swap panes
# Prefix + { (swap with previous)
# Prefix + } (swap with next)
# Toggle layouts
# Prefix + Space
# Enter copy mode
# Prefix + [
# Navigation (vi mode)
# h j k l - Move
# w b - Word forward/back
# / ? - Search forward/back
# n N - Next/prev search result
# g G - Top/bottom
# Selection (vi mode)
# Space - Start selection
# Enter - Copy and exit
# v - Toggle rectangle selection
# Paste
# Prefix + ]
# Enable vi mode in .tmux.conf:
# set-window-option -g mode-keys vi
# Enter command mode
# Prefix + :
# Common commands
:new-window -n "editor"
:split-window -h
:resize-pane -D 10
:swap-pane -D
:setw synchronize-panes on # Type in all panes
:setw synchronize-panes off
#!/bin/bash
# dev-setup.sh - Create development workspace
SESSION="dev"
# Create session with first window
tmux new-session -d -s $SESSION -n "editor"
tmux send-keys -t $SESSION:editor "vim ." Enter
# Second window: server
tmux new-window -t $SESSION -n "server"
tmux send-keys -t $SESSION:server "npm run dev" Enter
# Third window: split for tests and logs
tmux new-window -t $SESSION -n "test"
tmux split-window -h -t $SESSION:test
tmux send-keys -t $SESSION:test.0 "npm test -- --watch" Enter
tmux send-keys -t $SESSION:test.1 "tail -f logs/app.log" Enter
# Fourth window: git
tmux new-window -t $SESSION -n "git"
tmux send-keys -t $SESSION:git "git status" Enter
# Focus first window
tmux select-window -t $SESSION:editor
# Attach
tmux attach -t $SESSION
# ~/.tmux.conf
# Change prefix to Ctrl-a
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# Enable mouse
set -g mouse on
# Start windows at 1 (not 0)
set -g base-index 1
setw -g pane-base-index 1
# Vi mode
setw -g mode-keys vi
# Vi copy mode
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send -X copy-pipe-and-cancel "pbcopy"
# Better splits (use | and -)
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# New window in current path
bind c new-window -c "#{pane_current_path}"
# Resize panes with vim keys
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# Switch panes with vim keys
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Reload config
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# Status bar
set -g status-style 'bg=#333333 fg=#ffffff'
set -g status-left ' #S '
set -g status-right ' %H:%M '
# History limit
set -g history-limit 50000
# No delay for escape
set -sg escape-time 0
# 256 colors
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",*256col*:Tc"
# Auto rename windows
setw -g automatic-rename on
set -g renumber-windows on
Prefix = Ctrl-b (default) or Ctrl-a (if remapped)
Sessions: d=detach s=list $=rename (/)=prev/next
Windows: c=new ,=rename n/p=next/prev 0-9=switch &=kill
Panes: "=hsplit %=vsplit arrows=navigate z=zoom x=kill
Copy: [=enter Space=select Enter=copy ]=paste
Command: :=prompt
For .tmux.conf customization: references/config.md
tools
Parallel execution with xargs, GNU parallel, and batch processing patterns. Use when user mentions "xargs", "parallel", "batch processing", "run in parallel", "parallel execution", "process list of files", "bulk operations", "concurrent commands", "map over files", or running commands on multiple inputs.
development
WebSocket implementation for real-time bidirectional communication. Use when user mentions "websocket", "ws://", "wss://", "real-time", "live updates", "chat application", "socket.io", "Server-Sent Events", "SSE", "push notifications", "live data", "streaming data", "bidirectional communication", "websocket server", "reconnection", or building real-time features.
tools
Frontend bundler configuration for Webpack and Vite. Use when user mentions "webpack", "vite", "bundler", "vite config", "webpack config", "code splitting", "tree shaking", "hot module replacement", "HMR", "build optimization", "bundle size", "chunk splitting", "loader", "plugin", "esbuild", "rollup", "dev server", or configuring JavaScript build tools.
tools
VS Code configuration, extensions, keybindings, and workspace optimization. Use when user mentions "vscode", "vs code", "vscode settings", "vscode extensions", "keybindings", "code editor", "workspace settings", "settings.json", "launch.json", "tasks.json", "vscode snippets", "devcontainer", "remote development", or customizing their VS Code setup.