diff options
| -rw-r--r-- | KEYBINDS.md | 9 | ||||
| -rw-r--r-- | dot_config/zellij/config.kdl | 14 |
2 files changed, 23 insertions, 0 deletions
diff --git a/KEYBINDS.md b/KEYBINDS.md index d36daaa..18129da 100644 --- a/KEYBINDS.md +++ b/KEYBINDS.md @@ -207,6 +207,15 @@ All binds are in `shared_except "locked"` mode (active everywhere except locked | `Alt-q` | Detach session | | `Alt--` / `Alt-=` | Resize decrease / increase | | `Ctrl-h/j/k/l` | Move focus (vim-zellij-navigator) | +| `Alt-Shift-P` | Enter Pane mode | +| `Alt-Shift-T` | Enter Tab mode | +| `Alt-Shift-R` | Enter Resize mode | +| `Alt-Shift-S` | Enter Scroll mode | +| `Alt-Shift-O` | Enter Session mode | +| `Alt-Shift-Z` | Enter Locked mode | +| `Alt-Shift-Q` | Quit zellij | + +Mode-entry keys are relocated from their zellij defaults (`Ctrl-p/t/r/s/o/g/q`, `Ctrl-b` TMUX dropped) to `Alt-Shift-*` so the `Ctrl-*` keys pass through to zsh and nvim. Only `Ctrl-h/j/k/l` remain intercepted (for pane navigation). ## Zsh diff --git a/dot_config/zellij/config.kdl b/dot_config/zellij/config.kdl index 5f7e193..569a52e 100644 --- a/dot_config/zellij/config.kdl +++ b/dot_config/zellij/config.kdl @@ -23,6 +23,20 @@ pane_frames false // Custom keybindings (merged with defaults) keybinds { shared_except "locked" { + // Free up Ctrl+* keys so they pass through to zsh / nvim. + // Mode-entry relocated to Alt+Shift+* below. Ctrl+h/j/k/l are kept + // by the vim-zellij-navigator binds further down. + unbind "Ctrl b" "Ctrl g" "Ctrl n" "Ctrl o" "Ctrl p" "Ctrl q" "Ctrl s" "Ctrl t" + + // Mode entry (Alt+Shift+<first-letter-of-mode>) + bind "Alt Shift P" { SwitchToMode "Pane"; } + bind "Alt Shift T" { SwitchToMode "Tab"; } + bind "Alt Shift R" { SwitchToMode "Resize"; } + bind "Alt Shift S" { SwitchToMode "Scroll"; } + bind "Alt Shift O" { SwitchToMode "Session"; } + bind "Alt Shift Z" { SwitchToMode "Locked"; } + bind "Alt Shift Q" { Quit; } + // Direct tab access (Alt+number) bind "Alt 1" { GoToTab 1; } bind "Alt 2" { GoToTab 2; } |
