aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config/zellij
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:12 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:12 +0100
commitdd739c9f47b11950d0fde6a19c5c36a499be5bd4 (patch)
treeb4ee77968d0f55606299299b47adb619e4a246d0 /dot_config/zellij
parentcb37af5837bcb9c48505abdf5f015ba96f77c320 (diff)
downloaddotfiles-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.kdl14
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; }