From a182ef72b938b229735caffb97045089eb34fc86 Mon Sep 17 00:00:00 2001 From: Oleksandr Smirnov Date: Sun, 16 Nov 2025 00:27:25 +0200 Subject: [PATCH] zellij: add config --- config/zellij/config.kdl | 118 +++++++++++++++++++++++++++++ config/zellij/layouts/defaulty.kdl | 6 ++ 2 files changed, 124 insertions(+) create mode 100644 config/zellij/config.kdl create mode 100644 config/zellij/layouts/defaulty.kdl diff --git a/config/zellij/config.kdl b/config/zellij/config.kdl new file mode 100644 index 0000000..a7ee88f --- /dev/null +++ b/config/zellij/config.kdl @@ -0,0 +1,118 @@ +show_release_notes false +show_startup_tips false +simplified_ui true +auto_layout false +pane_frames false +mouse_mode true +show_tips false + +theme "tokyonight" +default_shell "fish" +default_layout "defaulty" +scrollback_editor "nvim" +scroll_buffer_size 10000 + +ui { + tab_bar { location "top"; } +} + +keybinds clear-defaults=true { + normal { + bind "Ctrl t" { SwitchToMode "tmux"; } + + bind "Alt 1" { GoToTab 1; SwitchToMode "normal"; } + bind "Alt 2" { GoToTab 2; SwitchToMode "normal"; } + bind "Alt 3" { GoToTab 3; SwitchToMode "normal"; } + bind "Alt 4" { GoToTab 4; SwitchToMode "normal"; } + bind "Alt 5" { GoToTab 5; SwitchToMode "normal"; } + } + + tmux { + bind "Ctrl t" { Write 20; SwitchToMode "normal"; } + bind "Space" { NextSwapLayout; } + + bind "d" { Detach; } + bind "tab" { GoToPreviousTab; SwitchToMode "normal"; } + bind "t" { NewTab; SwitchToMode "normal"; } + bind "y" { SwitchToMode "renametab"; TabNameInput 0; } + bind "," { MoveTab "left"; SwitchToMode "normal"; } + bind "." { MoveTab "right"; SwitchToMode "normal"; } + + bind "esc" { SwitchToMode "normal"; } + bind "/" { SwitchToMode "entersearch"; } + bind "s" { SwitchToMode "scroll"; } + + bind "h" { MoveFocus "Left"; SwitchToMode "normal"; } + bind "j" { MoveFocus "Down"; SwitchToMode "normal"; } + bind "k" { MoveFocus "Up"; SwitchToMode "normal"; } + bind "l" { MoveFocus "Right"; SwitchToMode "normal"; } + bind "n" { NewPane; SwitchToMode "normal"; } + bind "N" { NewPane "down"; SwitchToMode "normal"; } + + bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; } + bind "w" { CloseFocus; SwitchToMode "normal"; } + bind "+" "=" { Resize "Increase"; SwitchToMode "normal"; } + bind "-" { Resize "Decrease"; SwitchToMode "normal"; } + + bind "o" { + LaunchOrFocusPlugin "session-manager" { + floating true + move_to_focused_tab true + } + SwitchToMode "normal"; + } + } + + renametab { + bind "esc" { UndoRenameTab; SwitchToMode "normal"; } + bind "enter" { SwitchToMode "normal"; } + } + + entersearch { + bind "esc" { SwitchToMode "normal"; } + bind "enter" { SwitchToMode "search"; } + } + + search { + bind "esc" "q" { SwitchToMode "normal"; } + bind "/" { SwitchToMode "entersearch"; } + bind "c" { SearchToggleOption "CaseSensitivity"; } + bind "n" { Search "down"; } + bind "N" { Search "up"; } + bind "p" { Search "up"; } + } + + scroll { + bind "esc" { SwitchToMode "normal"; } + bind "/" { SwitchToMode "entersearch"; SearchInput 0; } + bind "e" { EditScrollback; SwitchToMode "normal"; } + bind "j" { ScrollDown; } + bind "k" { ScrollUp; } + bind "Ctrl d" { HalfPageScrollDown; } + bind "Ctrl u" { HalfPageScrollUp; } + bind "g" { ScrollToTop; } + bind "G" { ScrollToBottom; } + } +} + +plugins { + compact-bar location="zellij:compact-bar" + configuration location="zellij:configuration" + session-manager location="zellij:session-manager" +} + +themes { + tokyonight { + fg "#c0caf5" + bg "#292e42" + black "#1a1b26" + red "#f7768e" + yellow "#e0af68" + blue "#7aa2f7" + magenta "#bb9af7" + cyan "#7dcfff" + green "#7aa2f7" // #9ece6a + white "#a9b1d6" + orange "#ff9e64" + } +} diff --git a/config/zellij/layouts/defaulty.kdl b/config/zellij/layouts/defaulty.kdl new file mode 100644 index 0000000..bcc6c0c --- /dev/null +++ b/config/zellij/layouts/defaulty.kdl @@ -0,0 +1,6 @@ +layout { + pane size=1 borderless=true { + plugin location="compact-bar" + } + pane +}