diff options
| author | 2026-05-13 13:43:12 +0100 | |
|---|---|---|
| committer | 2026-05-13 13:43:12 +0100 | |
| commit | dd739c9f47b11950d0fde6a19c5c36a499be5bd4 (patch) | |
| tree | b4ee77968d0f55606299299b47adb619e4a246d0 /dot_config/zellij | |
| parent | cb37af5837bcb9c48505abdf5f015ba96f77c320 (diff) | |
| download | dotfiles-dd739c9f47b11950d0fde6a19c5c36a499be5bd4.tar.gz dotfiles-dd739c9f47b11950d0fde6a19c5c36a499be5bd4.tar.bz2 dotfiles-dd739c9f47b11950d0fde6a19c5c36a499be5bd4.zip | |
feat(zellij): relocate mode-entry keys to Alt+Shift+* to stop shadowing shell/nvim
Zellij's default Ctrl+* mode-entry keys (Ctrl+p/t/r/s/o/g/b/q) were
intercepted before reaching the inner shell/editor, shadowing zsh fzf
bindings (Ctrl+t), history navigation (Ctrl+p/n), nvim jumps (Ctrl+o),
save (Ctrl+s), etc.
Unbind all conflicting Ctrl+* entries and relocate mode-entry to
Alt+Shift+<first-letter-of-mode>:
Alt+Shift+P Pane
Alt+Shift+T Tab
Alt+Shift+R Resize
Alt+Shift+S Scroll
Alt+Shift+O Session
Alt+Shift+Z Locked (Z avoids Treewalker Alt+Shift+h/j/k/l swap)
Alt+Shift+Q Quit
TMUX-compat mode dropped. Only Ctrl+h/j/k/l remain bound in zellij (for
vim-zellij-navigator); every other Ctrl+* now passes through.
Requires fresh zellij session (kill-all-sessions -y) to take effect.
Diffstat (limited to 'dot_config/zellij')
| -rw-r--r-- | dot_config/zellij/config.kdl | 14 |
1 files changed, 14 insertions, 0 deletions
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; } |
