config.kdl.bak.1 (20059B)
1 // 2 // THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /Users/minerva/.config/zellij/config.kdl.bak 3 // 4 5 keybinds clear-defaults=true { 6 locked { 7 bind "Ctrl g" { SwitchToMode "normal"; } 8 } 9 pane { 10 bind "left" { MoveFocus "left"; } 11 bind "down" { MoveFocus "down"; } 12 bind "up" { MoveFocus "up"; } 13 bind "right" { MoveFocus "right"; } 14 bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; } 15 bind "d" { NewPane "down"; SwitchToMode "normal"; } 16 bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; } 17 bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; } 18 bind "h" { MoveFocus "left"; } 19 bind "i" { TogglePanePinned; SwitchToMode "normal"; } 20 bind "j" { MoveFocus "down"; } 21 bind "k" { MoveFocus "up"; } 22 bind "l" { MoveFocus "right"; } 23 bind "n" { NewPane; SwitchToMode "normal"; } 24 bind "p" { SwitchFocus; } 25 bind "Ctrl p" { SwitchToMode "normal"; } 26 bind "r" { NewPane "right"; SwitchToMode "normal"; } 27 bind "s" { NewPane "stacked"; SwitchToMode "normal"; } 28 bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; } 29 bind "z" { TogglePaneFrames; SwitchToMode "normal"; } 30 } 31 tab { 32 bind "left" { GoToPreviousTab; } 33 bind "down" { GoToNextTab; } 34 bind "up" { GoToPreviousTab; } 35 bind "right" { GoToNextTab; } 36 bind "1" { GoToTab 1; SwitchToMode "normal"; } 37 bind "2" { GoToTab 2; SwitchToMode "normal"; } 38 bind "3" { GoToTab 3; SwitchToMode "normal"; } 39 bind "4" { GoToTab 4; SwitchToMode "normal"; } 40 bind "5" { GoToTab 5; SwitchToMode "normal"; } 41 bind "6" { GoToTab 6; SwitchToMode "normal"; } 42 bind "7" { GoToTab 7; SwitchToMode "normal"; } 43 bind "8" { GoToTab 8; SwitchToMode "normal"; } 44 bind "9" { GoToTab 9; SwitchToMode "normal"; } 45 bind "[" { BreakPaneLeft; SwitchToMode "normal"; } 46 bind "]" { BreakPaneRight; SwitchToMode "normal"; } 47 bind "b" { BreakPane; SwitchToMode "normal"; } 48 bind "h" { GoToPreviousTab; } 49 bind "j" { GoToNextTab; } 50 bind "k" { GoToPreviousTab; } 51 bind "l" { GoToNextTab; } 52 bind "n" { NewTab; SwitchToMode "normal"; } 53 bind "r" { SwitchToMode "renametab"; TabNameInput 0; } 54 bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; } 55 bind "Ctrl t" { SwitchToMode "normal"; } 56 bind "x" { CloseTab; SwitchToMode "normal"; } 57 bind "tab" { ToggleTab; } 58 } 59 resize { 60 bind "left" { Resize "Increase left"; } 61 bind "down" { Resize "Increase down"; } 62 bind "up" { Resize "Increase up"; } 63 bind "right" { Resize "Increase right"; } 64 bind "+" { Resize "Increase"; } 65 bind "-" { Resize "Decrease"; } 66 bind "=" { Resize "Increase"; } 67 bind "H" { Resize "Decrease left"; } 68 bind "J" { Resize "Decrease down"; } 69 bind "K" { Resize "Decrease up"; } 70 bind "L" { Resize "Decrease right"; } 71 bind "h" { Resize "Increase left"; } 72 bind "j" { Resize "Increase down"; } 73 bind "k" { Resize "Increase up"; } 74 bind "l" { Resize "Increase right"; } 75 bind "Ctrl n" { SwitchToMode "normal"; } 76 } 77 move { 78 bind "left" { MovePane "left"; } 79 bind "down" { MovePane "down"; } 80 bind "up" { MovePane "up"; } 81 bind "right" { MovePane "right"; } 82 bind "h" { MovePane "left"; } 83 bind "Ctrl h" { SwitchToMode "normal"; } 84 bind "j" { MovePane "down"; } 85 bind "k" { MovePane "up"; } 86 bind "l" { MovePane "right"; } 87 bind "n" { MovePane; } 88 bind "p" { MovePaneBackwards; } 89 bind "tab" { MovePane; } 90 } 91 scroll { 92 bind "Alt left" { MoveFocusOrTab "left"; SwitchToMode "normal"; } 93 bind "Alt down" { MoveFocus "down"; SwitchToMode "normal"; } 94 bind "Alt up" { MoveFocus "up"; SwitchToMode "normal"; } 95 bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "normal"; } 96 bind "e" { EditScrollback; SwitchToMode "normal"; } 97 bind "Alt h" { MoveFocusOrTab "left"; SwitchToMode "normal"; } 98 bind "Alt j" { MoveFocus "down"; SwitchToMode "normal"; } 99 bind "Alt k" { MoveFocus "up"; SwitchToMode "normal"; } 100 bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "normal"; } 101 bind "s" { SwitchToMode "entersearch"; SearchInput 0; } 102 } 103 search { 104 bind "c" { SearchToggleOption "CaseSensitivity"; } 105 bind "n" { Search "down"; } 106 bind "o" { SearchToggleOption "WholeWord"; } 107 bind "p" { Search "up"; } 108 bind "w" { SearchToggleOption "Wrap"; } 109 } 110 session { 111 bind "a" { 112 LaunchOrFocusPlugin "zellij:about" { 113 floating true 114 move_to_focused_tab true 115 } 116 SwitchToMode "normal" 117 } 118 bind "c" { 119 LaunchOrFocusPlugin "configuration" { 120 floating true 121 move_to_focused_tab true 122 } 123 SwitchToMode "normal" 124 } 125 bind "l" { 126 LaunchOrFocusPlugin "zellij:layout-manager" { 127 floating true 128 move_to_focused_tab true 129 } 130 SwitchToMode "normal" 131 } 132 bind "Ctrl o" { SwitchToMode "normal"; } 133 bind "p" { 134 LaunchOrFocusPlugin "plugin-manager" { 135 floating true 136 move_to_focused_tab true 137 } 138 SwitchToMode "normal" 139 } 140 bind "s" { 141 LaunchOrFocusPlugin "zellij:share" { 142 floating true 143 move_to_focused_tab true 144 } 145 SwitchToMode "normal" 146 } 147 bind "w" { 148 LaunchOrFocusPlugin "session-manager" { 149 floating true 150 move_to_focused_tab true 151 } 152 SwitchToMode "normal" 153 } 154 } 155 shared_except "locked" { 156 bind "Alt +" { Resize "Increase"; } 157 bind "Alt -" { Resize "Decrease"; } 158 bind "Alt =" { Resize "Increase"; } 159 bind "Alt [" { PreviousSwapLayout; } 160 bind "Alt ]" { NextSwapLayout; } 161 bind "Alt f" { ToggleFloatingPanes; } 162 bind "Ctrl g" { SwitchToMode "locked"; } 163 bind "Alt i" { MoveTab "left"; } 164 bind "Alt n" { NewPane; } 165 bind "Alt o" { MoveTab "right"; } 166 bind "Alt p" { TogglePaneInGroup; } 167 bind "Alt Shift p" { ToggleGroupMarking; } 168 bind "Ctrl q" { Quit; } 169 } 170 shared_except "locked" "move" { 171 bind "Ctrl h" { SwitchToMode "move"; } 172 } 173 shared_except "locked" "session" { 174 bind "Ctrl o" { SwitchToMode "session"; } 175 } 176 shared_except "locked" "scroll" { 177 bind "Alt left" { MoveFocusOrTab "left"; } 178 bind "Alt down" { MoveFocus "down"; } 179 bind "Alt up" { MoveFocus "up"; } 180 bind "Alt right" { MoveFocusOrTab "right"; } 181 bind "Alt h" { MoveFocusOrTab "left"; } 182 bind "Alt j" { MoveFocus "down"; } 183 bind "Alt k" { MoveFocus "up"; } 184 bind "Alt l" { MoveFocusOrTab "right"; } 185 } 186 shared_except "locked" "scroll" "search" "tmux" { 187 bind "Ctrl b" { SwitchToMode "tmux"; } 188 } 189 shared_except "locked" "scroll" "search" { 190 bind "Ctrl s" { SwitchToMode "scroll"; } 191 } 192 shared_except "locked" "tab" { 193 bind "Ctrl t" { SwitchToMode "tab"; } 194 } 195 shared_except "locked" "pane" { 196 bind "Ctrl p" { SwitchToMode "pane"; } 197 } 198 shared_except "locked" "resize" { 199 bind "Ctrl n" { SwitchToMode "resize"; } 200 } 201 shared_except "normal" "locked" "entersearch" { 202 bind "enter" { SwitchToMode "normal"; } 203 } 204 shared_except "normal" "locked" "entersearch" "renametab" "renamepane" { 205 bind "esc" { SwitchToMode "normal"; } 206 } 207 shared_among "pane" "tmux" { 208 bind "x" { CloseFocus; SwitchToMode "normal"; } 209 } 210 shared_among "scroll" "search" { 211 bind "PageDown" { PageScrollDown; } 212 bind "PageUp" { PageScrollUp; } 213 bind "left" { PageScrollUp; } 214 bind "down" { ScrollDown; } 215 bind "up" { ScrollUp; } 216 bind "right" { PageScrollDown; } 217 bind "Ctrl b" { PageScrollUp; } 218 bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; } 219 bind "d" { HalfPageScrollDown; } 220 bind "Ctrl f" { PageScrollDown; } 221 bind "h" { PageScrollUp; } 222 bind "j" { ScrollDown; } 223 bind "k" { ScrollUp; } 224 bind "l" { PageScrollDown; } 225 bind "Ctrl s" { SwitchToMode "normal"; } 226 bind "u" { HalfPageScrollUp; } 227 } 228 entersearch { 229 bind "Ctrl c" { SwitchToMode "scroll"; } 230 bind "esc" { SwitchToMode "scroll"; } 231 bind "enter" { SwitchToMode "search"; } 232 } 233 renametab { 234 bind "esc" { UndoRenameTab; SwitchToMode "tab"; } 235 } 236 shared_among "renametab" "renamepane" { 237 bind "Ctrl c" { SwitchToMode "normal"; } 238 } 239 renamepane { 240 bind "esc" { UndoRenamePane; SwitchToMode "pane"; } 241 } 242 shared_among "session" "tmux" { 243 bind "d" { Detach; } 244 } 245 tmux { 246 bind "left" { MoveFocus "left"; SwitchToMode "normal"; } 247 bind "down" { MoveFocus "down"; SwitchToMode "normal"; } 248 bind "up" { MoveFocus "up"; SwitchToMode "normal"; } 249 bind "right" { MoveFocus "right"; SwitchToMode "normal"; } 250 bind "space" { NextSwapLayout; } 251 bind "\"" { NewPane "down"; SwitchToMode "normal"; } 252 bind "%" { NewPane "right"; SwitchToMode "normal"; } 253 bind "," { SwitchToMode "renametab"; } 254 bind "[" { SwitchToMode "scroll"; } 255 bind "Ctrl b" { Write 2; SwitchToMode "normal"; } 256 bind "c" { NewTab; SwitchToMode "normal"; } 257 bind "h" { MoveFocus "left"; SwitchToMode "normal"; } 258 bind "j" { MoveFocus "down"; SwitchToMode "normal"; } 259 bind "k" { MoveFocus "up"; SwitchToMode "normal"; } 260 bind "l" { MoveFocus "right"; SwitchToMode "normal"; } 261 bind "n" { GoToNextTab; SwitchToMode "normal"; } 262 bind "o" { FocusNextPane; } 263 bind "p" { GoToPreviousTab; SwitchToMode "normal"; } 264 bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; } 265 } 266 } 267 268 // Plugin aliases - can be used to change the implementation of Zellij 269 // changing these requires a restart to take effect 270 plugins { 271 about location="zellij:about" 272 compact-bar location="zellij:compact-bar" 273 configuration location="zellij:configuration" 274 filepicker location="zellij:strider" { 275 cwd "/" 276 } 277 plugin-manager location="zellij:plugin-manager" 278 session-manager location="zellij:session-manager" 279 status-bar location="zellij:status-bar" 280 strider location="zellij:strider" 281 tab-bar location="zellij:tab-bar" 282 welcome-screen location="zellij:session-manager" { 283 welcome_screen true 284 } 285 } 286 287 // Plugins to load in the background when a new session starts 288 // eg. "file:/path/to/my-plugin.wasm" 289 // eg. "https://example.com/my-plugin.wasm" 290 load_plugins { 291 zellij:link 292 } 293 web_client { 294 font "monospace" 295 } 296 297 // Use a simplified UI without special fonts (arrow glyphs) 298 // Options: 299 // - true 300 // - false (Default) 301 // 302 // simplified_ui true 303 304 // Enable OSC8 hyperlink output 305 // Options: 306 // - true (Default) 307 // - false 308 // 309 // osc8_hyperlinks true 310 311 // Choose the theme that is specified in the themes section. 312 // Default: default 313 // 314 // theme "dracula" 315 316 // Choose the base input mode of zellij. 317 // Default: normal 318 // 319 default_mode "normal" 320 321 // Choose the path to the default shell that zellij will use for opening new panes 322 // Default: $SHELL 323 // 324 // default_shell "fish" 325 326 // Choose the path to override cwd that zellij will use for opening new panes 327 // 328 // default_cwd "/tmp" 329 330 // The name of the default layout to load on startup 331 // Default: "default" 332 // 333 // default_layout "compact" 334 335 // The folder in which Zellij will look for layouts 336 // (Requires restart) 337 // 338 // layout_dir "/tmp" 339 340 // The folder in which Zellij will look for themes 341 // (Requires restart) 342 // 343 // theme_dir "/tmp" 344 345 // Toggle enabling the mouse mode. 346 // On certain configurations, or terminals this could 347 // potentially interfere with copying text. 348 // Options: 349 // - true (default) 350 // - false 351 // 352 // mouse_mode false 353 354 // Toggle having pane frames around the panes 355 // Options: 356 // - true (default, enabled) 357 // - false 358 // 359 // pane_frames false 360 361 // When attaching to an existing session with other users, 362 // should the session be mirrored (true) 363 // or should each user have their own cursor (false) 364 // (Requires restart) 365 // Default: false 366 // 367 // mirror_session true 368 369 // Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP 370 // eg. when terminal window with an active zellij session is closed 371 // (Requires restart) 372 // Options: 373 // - detach (Default) 374 // - quit 375 // 376 // on_force_close "quit" 377 378 // Configure the scroll back buffer size 379 // This is the number of lines zellij stores for each pane in the scroll back 380 // buffer. Excess number of lines are discarded in a FIFO fashion. 381 // (Requires restart) 382 // Valid values: positive integers 383 // Default value: 10000 384 // 385 // scroll_buffer_size 10000 386 387 // Provide a command to execute when copying text. The text will be piped to 388 // the stdin of the program to perform the copy. This can be used with 389 // terminal emulators which do not support the OSC 52 ANSI control sequence 390 // that will be used by default if this option is not set. 391 // Examples: 392 // 393 // copy_command "xclip -selection clipboard" // x11 394 // copy_command "wl-copy" // wayland 395 // copy_command "pbcopy" // osx 396 // 397 // copy_command "pbcopy" 398 399 // Choose the destination for copied text 400 // Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. 401 // Does not apply when using copy_command. 402 // Options: 403 // - system (default) 404 // - primary 405 // 406 // copy_clipboard "primary" 407 408 // Enable automatic copying (and clearing) of selection when releasing mouse 409 // Default: true 410 // 411 // copy_on_select true 412 413 // Path to the default editor to use to edit pane scrollbuffer 414 // Default: $EDITOR or $VISUAL 415 // scrollback_editor "/usr/bin/vim" 416 417 // A fixed name to always give the Zellij session. 418 // Consider also setting `attach_to_session true,` 419 // otherwise this will error if such a session exists. 420 // Default: <RANDOM> 421 // 422 // session_name "My singleton session" 423 424 // When `session_name` is provided, attaches to that session 425 // if it is already running or creates it otherwise. 426 // Default: false 427 // 428 // attach_to_session true 429 430 // Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible 431 // Options: 432 // - true (default) 433 // - false 434 // 435 // auto_layout false 436 437 // Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected 438 // Options: 439 // - true (default) 440 // - false 441 // 442 // session_serialization false 443 444 // Whether pane viewports are serialized along with the session, default is false 445 // Options: 446 // - true 447 // - false (default) 448 // 449 // serialize_pane_viewport false 450 451 // Scrollback lines to serialize along with the pane viewport when serializing sessions, 0 452 // defaults to the scrollback size. If this number is higher than the scrollback size, it will 453 // also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true. 454 // 455 // scrollback_lines_to_serialize 10000 456 457 // Enable or disable the rendering of styled and colored underlines (undercurl). 458 // May need to be disabled for certain unsupported terminals 459 // (Requires restart) 460 // Default: true 461 // 462 // styled_underlines false 463 464 // How often in seconds sessions are serialized 465 // 466 // serialization_interval 10000 467 468 // Enable or disable writing of session metadata to disk (if disabled, other sessions might not know 469 // metadata info on this session) 470 // (Requires restart) 471 // Default: false 472 // 473 // disable_session_metadata false 474 475 // Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it) 476 // (Requires restart) 477 // Default: true (if the host terminal supports it) 478 // 479 // support_kitty_keyboard_protocol false 480 // Whether to make sure a local web server is running when a new Zellij session starts. 481 // This web server will allow creating new sessions and attaching to existing ones that have 482 // opted in to being shared in the browser. 483 // When enabled, navigate to http://127.0.0.1:8082 484 // (Requires restart) 485 // 486 // Note: a local web server can still be manually started from within a Zellij session or from the CLI. 487 // If this is not desired, one can use a version of Zellij compiled without 488 // `web_server_capability` 489 // 490 // Possible values: 491 // - true 492 // - false 493 // Default: false 494 // 495 // web_server false 496 // Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is 497 // running (see the `web_server` option for more details). 498 // (Requires restart) 499 // 500 // Note: This is an administrative separation and not intended as a security measure. 501 // 502 // Possible values: 503 // - "on" (allow web sharing through the local web server if it 504 // is online) 505 // - "off" (do not allow web sharing unless sessions explicitly opt-in to it) 506 // - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it) 507 // Default: "off" 508 // 509 // web_sharing "off" 510 // A path to a certificate file to be used when setting up the web client to serve the 511 // connection over HTTPs 512 // 513 // web_server_cert "/path/to/cert.pem" 514 // A path to a key file to be used when setting up the web client to serve the 515 // connection over HTTPs 516 // 517 // web_server_key "/path/to/key.pem" 518 /// Whether to enforce https connections to the web server when it is bound to localhost 519 /// (127.0.0.0/8) 520 /// 521 /// Note: https is ALWAYS enforced when bound to non-local interfaces 522 /// 523 /// Default: false 524 // 525 // enforce_https_for_localhost false 526 527 // Whether to stack panes when resizing beyond a certain size 528 // Default: true 529 // 530 // stacked_resize false 531 532 // Whether to show tips on startup 533 // Default: true 534 // 535 // show_startup_tips false 536 537 // Whether to show release notes on first version run 538 // Default: true 539 // 540 // show_release_notes false 541 542 // Whether to enable mouse hover effects and pane grouping functionality 543 // default is true 544 // advanced_mouse_actions false 545 546 // Whether to enable mouse hover visual effects (frame highlight and help text) 547 // default is true 548 // mouse_hover_effects false 549 550 // Whether to show visual bell indicators (pane/tab frame flash and [!] suffix) 551 // default is true 552 // visual_bell true 553 554 // Whether to focus panes on mouse hover 555 // default is false 556 // focus_follows_mouse false 557 558 // Whether clicking a pane to focus it also sends the click into the pane 559 // default is false 560 // mouse_click_through false 561 562 // The ip address the web server should listen on when it starts 563 // Default: "127.0.0.1" 564 // (Requires restart) 565 // web_server_ip "127.0.0.1" 566 567 // The port the web server should listen on when it starts 568 // Default: 8082 569 // (Requires restart) 570 // web_server_port 8082 571 572 // A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable) 573 // after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT 574 // of this command will be used instead of the discovered RESURRECT_COMMAND 575 // can be useful for removing wrappers around commands 576 // Note: be sure to escape backslashes and similar characters properly 577 // post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>" 578 579 // Number of async worker tasks to spawn per active client. 580 // 581 // Allocating few tasks may result in resource contention and lags. Small values (around 4) should 582 // typically work best. Set to 0 to use the number of (physical) CPU cores. 583 // Note: This only applies to web clients at the moment. 584 // client_async_worker_tasks 4