An interactive terminal-based tutorial for learning tmux, from basics to advanced.
_ _
| |_ _ __ ___ _ ___ __ | | ___ __ _ _ __ _ __
| __| '_ ` _ \| | | \ \/ / | |/ _ \/ _` | '__| '_ \
| |_| | | | | | |_| |> < | | __/ (_| | | | | | |
\__|_| |_| |_|\__,_/_/\_\ |_|\___|\__,_|_| |_| |_|
- 21 interactive lessons across 5 progressive modules
- Real exercises that verify actual tmux state (pane counts, session names, window names, etc.)
- Progressive unlocking — modules unlock as you complete the previous one
- Persistent progress — pick up where you left off
- Quizzes to reinforce key concepts
- Hint system — get help when you're stuck, or skip exercises
- Zero dependencies — pure bash + tmux
- bash 4.0+
- tmux 2.6+ (3.0+ recommended)
- Linux or macOS
git clone https://github.com/mikecubed/tmux-learn.git
cd tmux-learn
./tmux-learnThe tutorial will automatically launch inside a tmux session if you're not already in one.
Each lesson teaches concepts with explanations, keybinding references, and ASCII diagrams, then presents hands-on exercises. The tutorial creates sandbox tmux sessions for you to practice in, and verifies your work by inspecting real tmux state.
┌─────────────────────────────────────────────────────┐
│ EXERCISE: Create a 4-Pane Layout │
│ │
│ In the sandbox session, create 4 panes: │
│ ┌──────┬──────┐ │
│ │ P0 │ P1 │ │
│ ├──────┼──────┤ │
│ │ P2 │ P3 │ │
│ └──────┴──────┘ │
│ │
│ Commands: 'check' | 'hint' | 'skip' | 'quit' │
└─────────────────────────────────────────────────────┘
Progress is saved to ~/.tmux-learn/progress. To reset:
# From the main menu, select "Reset progress"
# Or manually:
rm ~/.tmux-learn/progress