A modular WezTerm configuration that combines the best of tmux, Zellij, and iTerm2.
No more manual splitting decisions. Set a layout mode and let WezTerm figure out the rest.
| Key | Action |
|---|---|
Alt+n |
Smart split (uses current layout mode) |
Alt+[/] |
Cycle through layout modes |
Alt+Space |
Layout mode picker |
Layout Modes:
- Tiled - Grid layout, splits larger dimension
- Vertical - All panes stacked top-to-bottom
- Horizontal - All panes side by side
- Main+Vertical - Main pane left (60%), stack right
- Main+Horizontal - Main pane top (60%), stack bottom
Fuzzy finder powered by zoxide that knows what's already open:
●Green dot = tab already open (switches to it)○Yellow dot = no tab (opens new)- Type a non-matching path to create new directory
Cmd+Shift+Popens selection in Cursor editor instead
Context-aware closing:
- Running vim/micro? Confirms before closing
- Last pane in tab? Closes the whole tab
- Multiple panes? Just closes the pane
Control WezTerm from Karabiner, yabai, or any script:
# Write trigger to file, focus WezTerm
echo "quick_open" > /tmp/wezterm.trigger
open -a WezTermAvailable triggers: quick_open, workspaces, themes, layouts, zen, app_launcher, notepad, copy_path
One-click layouts:
- Dev - Editor + terminal stack (60/40)
- Editor - Full editor + bottom terminal
- Quad - Four equal panes
- Monitor - htop + logs (auto-starts htop)
- Focus - Main pane + small sidebar
Cmd+Shift+T- Theme picker (high contrast options)Leader+t- Quick cycle through themesLeader+Shift+T- Reset to auto-theme (CWD-based)
Curated high-contrast themes: Hardcore, Solarized High Contrast, Dracula, Catppuccin Mocha, Gruvbox Dark, Tokyo Night
Mac-style Cmd keys work in micro:
Cmd+S→ save,Cmd+Q→ quit,Cmd+Z→ undoCmd+C/V/X→ copy/paste/cut- Automatically detects when micro is running
Using resurrect.wezterm:
Leader+s- Save workspace state
Cmd+/- Keyboard shortcuts help pickerLeader+z- Zen mode (hide tab bar)Cmd+Shift+R- Recording mode (hide all UI for demos)Cmd+E- Pane selector with number overlayCmd+O- Workspace switcher (zoxide-powered)Cmd+Y- Copy current command line (semantic zones)Cmd+Z- Open current directory in Zed
~/.config/wezterm/
├── wezterm.lua # Entry point
├── helpers.lua # Utilities (is_vim, is_micro, cwd)
├── theme.lua # Colors & theme list
├── layouts.lua # Zellij-style layouts
├── appearance.lua # Visual config
├── pickers.lua # Fuzzy pickers
├── events.lua # Tab titles, triggers, status bar
└── keys/
├── init.lua # Key aggregator
├── micro.lua # Micro editor mappings
├── navigation.lua
├── layouts.lua
└── power.lua
- zoxide - Smart directory jumping
- smart_workspace_switcher - Workspace management
- resurrect - Session persistence
| Key | Action |
|---|---|
Cmd+P/N |
Quick Open picker |
Cmd+T |
Smart split (layout-aware) |
Cmd+W |
Smart close |
Cmd+D |
Next pane |
Cmd+1-9 |
Jump to pane by number |
Alt+h/j/k/l |
Navigate panes (vim-style) |
Alt+Shift+h/j/k/l |
Resize panes |
Cmd+Shift+L |
Layout template picker |
Cmd+Shift+T |
Theme picker |
Cmd+/ |
Show all shortcuts |
Leader = Ctrl+B |