mirror of https://github.com/kdl-org/kdl-rs.git
298 lines
9.5 KiB
Plaintext
298 lines
9.5 KiB
Plaintext
// 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" |