Skip to content

Commit

Permalink
zellij example
Browse files Browse the repository at this point in the history
  • Loading branch information
zkat committed Dec 4, 2024
1 parent 887a543 commit 016119d
Show file tree
Hide file tree
Showing 4 changed files with 602 additions and 0 deletions.
298 changes: 298 additions & 0 deletions examples/zellij-unquoted-bindings.kdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,298 @@
// This config is just like `zellij.kdl`, except it shows what it would look
// like if modifiers were done using `+` instead of spaces (thus needing to be
// quoted).
keybinds {
normal {
// uncomment this and adjust key if using copy_on_select=#false
/- bind Alt+c { Copy }
}
locked {
bind Ctrl+g { SwitchToMode Normal }
}
resize {
bind Ctrl+n { SwitchToMode Normal }
bind h Left { Resize Left }
bind j Down { Resize Down }
bind k Up { Resize Up }
bind l Right { Resize Right }
bind "=" + { Resize Increase }
bind - { Resize Decrease }
}
pane {
bind Ctrl+p { SwitchToMode Normal }
bind h Left { MoveFocus Left }
bind l Right { MoveFocus Right }
bind j Down { MoveFocus Down }
bind k Up { MoveFocus Up }
bind p { SwitchFocus }
bind n { NewPane; SwitchToMode Normal }
bind d { NewPane Down; SwitchToMode Normal }
bind r { NewPane Right; SwitchToMode Normal }
bind x { CloseFocus; SwitchToMode Normal }
bind f { ToggleFocusFullscreen; SwitchToMode Normal }
bind z { TogglePaneFrames; SwitchToMode Normal }
bind w { ToggleFloatingPanes; SwitchToMode Normal }
bind e { TogglePaneEmbedOrFloating; SwitchToMode Normal }
bind c { SwitchToMode RenamePane; PaneNameInput 0 }
}
move {
bind Ctrl+h { SwitchToMode Normal }
bind n Tab { MovePane }
bind h Left { MovePane Left }
bind j Down { MovePane Down }
bind k Up { MovePane Up }
bind l Right { MovePane Right }
}
tab {
bind Ctrl+t { SwitchToMode Normal }
bind r { SwitchToMode RenameTab; TabNameInput 0 }
bind h Left Up k { GoToPreviousTab }
bind l Right Down j { GoToNextTab }
bind n { NewTab; SwitchToMode Normal }
bind x { CloseTab; SwitchToMode Normal }
bind s { ToggleActiveSyncTab; SwitchToMode Normal }
bind "1" { GoToTab 1; SwitchToMode Normal }
bind "2" { GoToTab 2; SwitchToMode Normal }
bind "3" { GoToTab 3; SwitchToMode Normal }
bind "4" { GoToTab 4; SwitchToMode Normal }
bind "5" { GoToTab 5; SwitchToMode Normal }
bind "6" { GoToTab 6; SwitchToMode Normal }
bind "7" { GoToTab 7; SwitchToMode Normal }
bind "8" { GoToTab 8; SwitchToMode Normal }
bind "9" { GoToTab 9; SwitchToMode Normal }
bind Tab { ToggleTab }
}
scroll {
bind Ctrl+s { SwitchToMode Normal }
bind e { EditScrollback; SwitchToMode Normal }
bind s { SwitchToMode EnterSearch; SearchInput 0 }
bind Ctrl+c { ScrollToBottom; SwitchToMode Normal }
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 }
// uncomment this and adjust key if using copy_on_select=#false
/- bind Alt+c { Copy }
}
search {
bind Ctrl+s { SwitchToMode Normal }
bind Ctrl+c { ScrollToBottom; SwitchToMode Normal }
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 }
}
entersearch {
bind Ctrl+c Esc { SwitchToMode Scroll }
bind Enter { SwitchToMode Search }
}
renametab {
bind Ctrl+c { SwitchToMode Normal }
bind Esc { UndoRenameTab; SwitchToMode Tab }
}
renamepane {
bind Ctrl+c { SwitchToMode Normal }
bind Esc { UndoRenamePane; SwitchToMode Pane }
}
session {
bind Ctrl+o { SwitchToMode Normal }
bind Ctrl+s { SwitchToMode Scroll }
bind d { Detach }
}
tmux {
bind "[" { SwitchToMode Scroll }
bind Ctrl+b { Write 2; SwitchToMode Normal }
bind "\"" { NewPane Down; SwitchToMode Normal }
bind % { NewPane Right SwitchToMode Normal }
bind z { ToggleFocusFullscreen SwitchToMode Normal }
bind c { NewTab SwitchToMode Normal }
bind , { SwitchToMode RenameTab }
bind p { GoToPreviousTab SwitchToMode Normal }
bind n { GoToNextTab SwitchToMode Normal }
bind Left { MoveFocus Left SwitchToMode Normal }
bind Right { MoveFocus Right SwitchToMode Normal }
bind Down { MoveFocus Down SwitchToMode Normal }
bind Up { MoveFocus Up SwitchToMode Normal }
bind h { MoveFocus Left SwitchToMode Normal }
bind l { MoveFocus Right SwitchToMode Normal }
bind j { MoveFocus Down SwitchToMode Normal }
bind k { MoveFocus Up SwitchToMode Normal }
bind o { FocusNextPane }
bind d { Detach }
bind x { CloseFocus SwitchToMode Normal }
}
shared_except locked {
bind Ctrl+g { SwitchToMode Locked }
bind Ctrl+q { Quit }
bind Alt+n { NewPane }
bind Alt+h "Alt Left" { MoveFocusOrTab Left }
bind Alt+l "Alt Right" { MoveFocusOrTab Right }
bind Alt+j "Alt Down" { MoveFocus Down }
bind Alt+k "Alt Up" { MoveFocus Up }
bind Alt+= Alt++ { Resize Increase }
bind Alt+- { Resize Decrease }
}
shared_except normal locked {
bind Enter Space Esc { SwitchToMode Normal }
}
shared_except pane locked {
bind Ctrl+p { SwitchToMode Pane }
}
shared_except resize locked {
bind Ctrl+n { SwitchToMode Resize }
}
shared_except scroll locked {
bind Ctrl+s { SwitchToMode Scroll }
}
shared_except session locked {
bind Ctrl+o { SwitchToMode Session }
}
shared_except tab locked {
bind Ctrl+t { SwitchToMode Tab }
}
shared_except move locked {
bind Ctrl+h { SwitchToMode Move }
}
shared_except tmux locked {
bind Ctrl+b { SwitchToMode Tmux }
}
}

plugins {
tab-bar { path tab-bar }
status-bar { path status-bar }
strider { path strider }
compact-bar { path compact-bar }
}

// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// Options:
// - detach (Default)
// - quit
//
/- on_force_close quit

// Send a request for a simplified ui (without arrow fonts) to plugins
// Options:
// - #true
// - #false (Default)
//
/- simplified_ui #true

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

// Toggle between having pane frames around the panes
// Options:
// - #true (default)
// - #false
//
/- pane_frames #true

// Define color themes for Zellij
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
//
// themes {
// dracula {
// fg 248 248 242
// bg 40 42 54
// red 255 85 85
// green 80 250 123
// yellow 241 250 140
// blue 98 114 164
// magenta 255 121 198
// orange 255 184 108
// cyan 139 233 253
// black 0 0 0
// white 255 255 255
// }
// }

// Choose the theme that is specified in the themes section.
// Default: default
//
/- theme default

// The name of the default layout to load on startup
// Default: "default"
//
/- default_layout compact

// Choose the mode that zellij uses when starting up.
// Default: normal
//
/- default_mode locked

// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - #true (default)
// - #false
//
/- mouse_mode #false

// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// Valid values: positive integers
// Default value: 10000
//
/- scroll_buffer_size 10000

// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
/- copy_command xclip -selection clipboard // x11
/- copy_command wl-copy // wayland
/- copy_command pbcopy // osx

// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
/- copy_clipboard primary

// Enable or disable automatic copy (and clear) of selection when releasing mouse
// Default: #true
//
/- copy_on_select #false

// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
//
/- scrollback_editor $EDITOR

// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// Default: #false
//
/- mirror_session #true

// The folder in which Zellij will look for layouts
//
/- layout_dir "/path/to/my/layout_dir"

// The folder in which Zellij will look for themes
//
/- theme_dir "/path/to/my/theme_dir"
Loading

0 comments on commit 016119d

Please sign in to comment.