Skip to content

Commit 6be295b

Browse files
committed
feat(zellij): improve config
- start in locked mode - update many keybindings to enter locked mode after normal - it's possible i can drop the normal switch entirely; haven't investigated - enter to lock rather than c-g. gives a "lock on select" feel for tab & pane navigation - toggle floating pane only in locked. gives a much better feel. - alt-r for resize Missing pieces for a good zellij experience: - next/prev session within a work list - keybinding for switching to named session (although this might be trivial via alias)
1 parent 527af0f commit 6be295b

1 file changed

Lines changed: 20 additions & 11 deletions

File tree

packages/zellij/config.kdl

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
keybinds clear-defaults=true {
66
locked {
77
bind "Ctrl g" { SwitchToMode "normal"; }
8+
bind "Ctrl f" { ToggleFloatingPanes; }
89
}
910
pane {
1011
bind "left" { MoveFocus "left"; }
@@ -80,7 +81,7 @@ keybinds clear-defaults=true {
8081
bind "up" { MovePane "up"; }
8182
bind "right" { MovePane "right"; }
8283
bind "h" { MovePane "left"; }
83-
bind "Ctrl h" { SwitchToMode "normal"; }
84+
bind "esc" { SwitchToMode "normal"; }
8485
bind "j" { MovePane "down"; }
8586
bind "k" { MovePane "up"; }
8687
bind "l" { MovePane "right"; }
@@ -89,8 +90,12 @@ keybinds clear-defaults=true {
8990
bind "tab" { MovePane; }
9091
}
9192
scroll {
92-
bind "e" { EditScrollback; SwitchToMode "normal"; }
93-
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
93+
bind "e" {
94+
EditScrollback
95+
SwitchToMode "normal"
96+
SwitchToMode "locked"
97+
}
98+
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
9499
}
95100
search {
96101
bind "c" { SearchToggleOption "CaseSensitivity"; }
@@ -106,13 +111,15 @@ keybinds clear-defaults=true {
106111
move_to_focused_tab true
107112
}
108113
SwitchToMode "normal"
114+
SwitchToMode "locked"
109115
}
110116
bind "c" {
111117
LaunchOrFocusPlugin "configuration" {
112118
floating true
113119
move_to_focused_tab true
114120
}
115121
SwitchToMode "normal"
122+
SwitchToMode "locked"
116123
}
117124
bind "Ctrl o" { SwitchToMode "normal"; }
118125
bind "p" {
@@ -121,20 +128,23 @@ keybinds clear-defaults=true {
121128
move_to_focused_tab true
122129
}
123130
SwitchToMode "normal"
131+
SwitchToMode "locked"
124132
}
125133
bind "s" {
126134
LaunchOrFocusPlugin "zellij:share" {
127135
floating true
128136
move_to_focused_tab true
129137
}
130138
SwitchToMode "normal"
139+
SwitchToMode "locked"
131140
}
132141
bind "w" {
133142
LaunchOrFocusPlugin "session-manager" {
134143
floating true
135144
move_to_focused_tab true
136145
}
137146
SwitchToMode "normal"
147+
SwitchToMode "locked"
138148
}
139149
}
140150
shared_except "locked" {
@@ -147,8 +157,10 @@ keybinds clear-defaults=true {
147157
bind "Alt =" { Resize "Increase"; }
148158
bind "Alt [" { PreviousSwapLayout; }
149159
bind "Alt ]" { NextSwapLayout; }
150-
bind "Ctrl f" { ToggleFloatingPanes; }
151-
bind "Ctrl g" { SwitchToMode "locked"; }
160+
bind "Enter" {
161+
SwitchToMode "normal"
162+
SwitchToMode "locked"
163+
}
152164
bind "Alt h" { MoveFocusOrTab "left"; }
153165
bind "Alt i" { MoveTab "left"; }
154166
bind "Alt j" { MoveFocus "down"; }
@@ -160,9 +172,6 @@ keybinds clear-defaults=true {
160172
bind "Alt Shift p" { ToggleGroupMarking; }
161173
bind "Ctrl q" { Quit; }
162174
}
163-
shared_except "locked" "move" {
164-
bind "Ctrl h" { SwitchToMode "move"; }
165-
}
166175
shared_except "locked" "session" {
167176
bind "Ctrl o" { SwitchToMode "session"; }
168177
}
@@ -179,10 +188,10 @@ keybinds clear-defaults=true {
179188
bind "Ctrl p" { SwitchToMode "pane"; }
180189
}
181190
shared_except "locked" "resize" {
182-
bind "Ctrl n" { SwitchToMode "resize"; }
191+
bind "Alt r" { SwitchToMode "resize"; }
183192
}
184193
shared_except "normal" "locked" "entersearch" {
185-
bind "enter" { SwitchToMode "normal"; }
194+
bind "enter" { SwitchToMode "normal"; SwitchToMode "locked"; }
186195
}
187196
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
188197
bind "esc" { SwitchToMode "normal"; }
@@ -295,7 +304,7 @@ web_client {
295304
// Choose the base input mode of zellij.
296305
// Default: normal
297306
//
298-
// default_mode "locked"
307+
default_mode "locked"
299308

300309
// Choose the path to the default shell that zellij will use for opening new panes
301310
// Default: $SHELL

0 commit comments

Comments
 (0)