2025-05-26 10:38:15 +02:00
|
|
|
// taken from https://lobste.rs/s/ft797a/why_zellij#c_4g7k3x
|
|
|
|
// Make the default layout compact and non-disturbing
|
|
|
|
default_layout "compact"
|
|
|
|
// do not pane frames
|
|
|
|
pane_frames false
|
|
|
|
// do not show startup tips
|
|
|
|
show_startup_tips false
|
|
|
|
// Choose the mode that zellij uses when starting up.
|
|
|
|
// Default: normal
|
|
|
|
//
|
|
|
|
default_mode "locked"
|
|
|
|
default_shell "fish"
|
|
|
|
theme "catppuccin-frappe"
|
|
|
|
// Toggle enabling the mouse mode. On certain configurations, or terminals this
|
|
|
|
// could potentially interfere with copying text.
|
|
|
|
// Default: true
|
|
|
|
//
|
|
|
|
mouse_mode true
|
|
|
|
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
|
|
|
keybinds clear-defaults=true {
|
|
|
|
scroll {
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Esc" "Ctrl s" {
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "e" {
|
|
|
|
EditScrollback
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "/" {
|
|
|
|
SwitchToMode "EnterSearch"
|
|
|
|
SearchInput 0
|
|
|
|
}
|
|
|
|
bind "Ctrl c" {
|
|
|
|
ScrollToBottom
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "j" "Down" {
|
|
|
|
ScrollDown
|
|
|
|
}
|
|
|
|
bind "k" "Up" {
|
|
|
|
ScrollUp
|
|
|
|
}
|
|
|
|
bind "Ctrl f" "PageDown" "Right" "l" {
|
|
|
|
PageScrollDown
|
|
|
|
}
|
|
|
|
bind "Ctrl b" "PageUp" "Left" "h" {
|
|
|
|
PageScrollUp
|
|
|
|
}
|
|
|
|
bind "d" {
|
|
|
|
HalfPageScrollDown
|
|
|
|
}
|
|
|
|
bind "u" {
|
|
|
|
HalfPageScrollUp
|
|
|
|
}
|
|
|
|
bind "g" {
|
|
|
|
ScrollToTop
|
|
|
|
}
|
|
|
|
bind "G" {
|
|
|
|
ScrollToBottom
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
}
|
|
|
|
search {
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Ctrl s" {
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "Esc" "Ctrl c" {
|
|
|
|
ScrollToBottom
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "j" "Down" {
|
|
|
|
ScrollDown
|
|
|
|
}
|
|
|
|
bind "k" "Up" {
|
|
|
|
ScrollUp
|
|
|
|
}
|
|
|
|
bind "Ctrl f" "PageDown" "Right" "l" {
|
|
|
|
PageScrollDown
|
|
|
|
}
|
|
|
|
bind "Ctrl b" "PageUp" "Left" "h" {
|
|
|
|
PageScrollUp
|
|
|
|
}
|
|
|
|
bind "d" {
|
|
|
|
HalfPageScrollDown
|
|
|
|
}
|
|
|
|
bind "u" {
|
|
|
|
HalfPageScrollUp
|
|
|
|
}
|
|
|
|
bind "n" {
|
|
|
|
Search "down"
|
|
|
|
}
|
|
|
|
bind "p" {
|
|
|
|
Search "up"
|
|
|
|
}
|
|
|
|
bind "c" {
|
|
|
|
SearchToggleOption "CaseSensitivity"
|
|
|
|
}
|
|
|
|
bind "w" {
|
|
|
|
SearchToggleOption "Wrap"
|
|
|
|
}
|
|
|
|
bind "o" {
|
|
|
|
SearchToggleOption "WholeWord"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
}
|
|
|
|
entersearch {
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Ctrl c" "Esc" {
|
|
|
|
SwitchToMode "Scroll"
|
|
|
|
}
|
|
|
|
bind "Enter" {
|
|
|
|
SwitchToMode "Search"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
}
|
|
|
|
renametab {
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Ctrl c" {
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "Esc" {
|
|
|
|
UndoRenameTab
|
|
|
|
SwitchToMode "Tmux"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
}
|
|
|
|
renamepane {
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Ctrl c" {
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "Esc" {
|
|
|
|
UndoRenamePane
|
|
|
|
SwitchToMode "Tmux"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
}
|
|
|
|
tmux {
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "[" {
|
|
|
|
SwitchToMode "Scroll"
|
|
|
|
}
|
|
|
|
bind "Ctrl Space" {
|
|
|
|
Write 1
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "z" {
|
|
|
|
ToggleFocusFullscreen
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// manipulate tabs
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "c" {
|
|
|
|
NewTab
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "K" {
|
|
|
|
CloseTab
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "R" {
|
|
|
|
SwitchToMode "RenameTab"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// switch modes
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "/" {
|
|
|
|
SwitchToMode "EnterSearch"
|
|
|
|
SearchInput 0
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// miscellaneous
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "s" {
|
|
|
|
ToggleActiveSyncTab
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "m" {
|
|
|
|
ToggleMouseMode
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "y" {
|
|
|
|
Run "yazi"
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// create new pane
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Space" {
|
|
|
|
NewPane
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "-" "_" {
|
|
|
|
NewPane "Down"
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "|" "\\" {
|
|
|
|
NewPane "Right"
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "r" {
|
|
|
|
SwitchToMode "RenamePane"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// switch between tabs
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "h" {
|
|
|
|
GoToPreviousTab
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "l" {
|
|
|
|
GoToNextTab
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "1" {
|
|
|
|
GoToTab 1
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "2" {
|
|
|
|
GoToTab 2
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "3" {
|
|
|
|
GoToTab 3
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "4" {
|
|
|
|
GoToTab 4
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "5" {
|
|
|
|
GoToTab 5
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "6" {
|
|
|
|
GoToTab 6
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "7" {
|
|
|
|
GoToTab 7
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "8" {
|
|
|
|
GoToTab 8
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "9" {
|
|
|
|
GoToTab 9
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// switch between panes
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Left" {
|
|
|
|
MoveFocus "Left"
|
|
|
|
}
|
|
|
|
bind "Right" {
|
|
|
|
MoveFocus "Right"
|
|
|
|
}
|
|
|
|
bind "Down" {
|
|
|
|
MoveFocus "Down"
|
|
|
|
}
|
|
|
|
bind "Up" {
|
|
|
|
MoveFocus "Up"
|
|
|
|
}
|
|
|
|
bind "Tab" {
|
|
|
|
FocusNextPane
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// move panes
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "H" {
|
|
|
|
MovePane "Left"
|
|
|
|
}
|
|
|
|
bind "J" {
|
|
|
|
MovePane "Down"
|
|
|
|
}
|
|
|
|
bind "K" {
|
|
|
|
MovePane "Up"
|
|
|
|
}
|
|
|
|
bind "L" {
|
|
|
|
MovePane "Right"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// manipulate panes
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "W" {
|
|
|
|
CloseFocus
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// exit etc
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Enter" "Esc" {
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "d" {
|
|
|
|
Detach
|
|
|
|
SwitchToMode "Locked"
|
|
|
|
}
|
|
|
|
bind "Q" {
|
|
|
|
Quit
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
// resizing
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Ctrl h" {
|
|
|
|
Resize "Increase Left"
|
|
|
|
}
|
|
|
|
bind "Ctrl j" {
|
|
|
|
Resize "Increase Down"
|
|
|
|
}
|
|
|
|
bind "Ctrl k" {
|
|
|
|
Resize "Increase Up"
|
|
|
|
}
|
|
|
|
bind "Ctrl l" {
|
|
|
|
Resize "Increase Right"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
}
|
|
|
|
shared {
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Alt n" {
|
|
|
|
NewPane
|
|
|
|
}
|
|
|
|
bind "Alt Ctrl h" {
|
|
|
|
MoveFocus "Left"
|
|
|
|
}
|
|
|
|
bind "Alt Ctrl j" {
|
|
|
|
MoveFocus "Down"
|
|
|
|
}
|
|
|
|
bind "Alt Ctrl l" {
|
|
|
|
MoveFocus "Right"
|
|
|
|
}
|
|
|
|
bind "Alt Ctrl k" {
|
|
|
|
MoveFocus "Up"
|
|
|
|
}
|
|
|
|
bind "Alt [" {
|
|
|
|
PreviousSwapLayout
|
|
|
|
}
|
|
|
|
bind "Alt ]" {
|
|
|
|
NextSwapLayout
|
|
|
|
}
|
|
|
|
bind "Alt =" "Alt +" {
|
|
|
|
Resize "Increase"
|
|
|
|
}
|
|
|
|
bind "Alt -" "Alt _" {
|
|
|
|
Resize "Decrease"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
}
|
|
|
|
shared_except "tmux" {
|
2025-06-04 08:28:59 +02:00
|
|
|
bind "Ctrl Space" {
|
|
|
|
SwitchToMode "Tmux"
|
|
|
|
}
|
2025-05-26 10:38:15 +02:00
|
|
|
}
|
|
|
|
}
|
2025-06-04 08:28:59 +02:00
|
|
|
|