mirror of
https://github.com/Ascyii/dotfiles.git
synced 2026-01-01 06:54:24 -05:00
Compare commits
5 Commits
951229147f
...
315f2b98bb
| Author | SHA1 | Date | |
|---|---|---|---|
| 315f2b98bb | |||
| 81f9be572a | |||
| f9d7d345c0 | |||
| 42b3185712 | |||
| 31233ab3d5 |
@@ -3,8 +3,7 @@ theme = "jonas"
|
|||||||
|
|
||||||
[keys.normal]
|
[keys.normal]
|
||||||
# Quick iteration on config changes
|
# Quick iteration on config changes
|
||||||
C-o = ":config-open"
|
C-o = "jump_backward"
|
||||||
C-r = ":config-reload"
|
|
||||||
|
|
||||||
# Some nice Helix stuff
|
# Some nice Helix stuff
|
||||||
C-h = "select_prev_sibling"
|
C-h = "select_prev_sibling"
|
||||||
@@ -15,6 +14,7 @@ C-l = "select_next_sibling"
|
|||||||
# Personal preference
|
# Personal preference
|
||||||
o = ["open_below", "normal_mode"]
|
o = ["open_below", "normal_mode"]
|
||||||
O = ["open_above", "normal_mode"]
|
O = ["open_above", "normal_mode"]
|
||||||
|
s = ["select_all", "select_regex"]
|
||||||
|
|
||||||
# Muscle memory
|
# Muscle memory
|
||||||
"{" = ["goto_prev_paragraph", "collapse_selection"]
|
"{" = ["goto_prev_paragraph", "collapse_selection"]
|
||||||
@@ -25,30 +25,16 @@ O = ["open_above", "normal_mode"]
|
|||||||
|
|
||||||
"^" = "goto_first_nonwhitespace"
|
"^" = "goto_first_nonwhitespace"
|
||||||
G = "goto_file_end"
|
G = "goto_file_end"
|
||||||
"%" = "match_brackets"
|
|
||||||
V = ["select_mode", "extend_to_line_bounds"]
|
V = ["select_mode", "extend_to_line_bounds"]
|
||||||
C = ["extend_to_line_end", "yank_main_selection_to_clipboard", "delete_selection", "insert_mode"]
|
|
||||||
D = ["extend_to_line_end", "yank_main_selection_to_clipboard", "delete_selection"]
|
D = ["extend_to_line_end", "yank_main_selection_to_clipboard", "delete_selection"]
|
||||||
S = "surround_add" # Would be nice to be able to do something after this but it isn't chainable
|
S = "surround_add" # Would be nice to be able to do something after this but it isn't chainable
|
||||||
|
|
||||||
# Clipboards over registers ye ye
|
# Clipboards over registers
|
||||||
x = "delete_selection"
|
x = "delete_selection"
|
||||||
p = ["paste_clipboard_after", "collapse_selection"]
|
p = ["paste_clipboard_after", "collapse_selection"]
|
||||||
P = ["paste_clipboard_before", "collapse_selection"]
|
P = ["paste_clipboard_before", "collapse_selection"]
|
||||||
# Would be nice to add ya and yi, but the surround commands can't be chained
|
|
||||||
Y = ["extend_to_line_end", "yank_main_selection_to_clipboard", "collapse_selection"]
|
Y = ["extend_to_line_end", "yank_main_selection_to_clipboard", "collapse_selection"]
|
||||||
|
|
||||||
# Uncanny valley stuff, this makes w and b behave as they do Vim
|
|
||||||
w = ["move_next_word_start", "move_char_right", "collapse_selection"]
|
|
||||||
W = ["move_next_long_word_start", "move_char_right", "collapse_selection"]
|
|
||||||
e = ["move_next_word_end", "collapse_selection"]
|
|
||||||
E = ["move_next_long_word_end", "collapse_selection"]
|
|
||||||
b = ["move_prev_word_start", "collapse_selection"]
|
|
||||||
B = ["move_prev_long_word_start", "collapse_selection"]
|
|
||||||
|
|
||||||
# If you want to keep the selection-while-moving behaviour of Helix, this two lines will help a lot,
|
|
||||||
# especially if you find having text remain selected while you have switched to insert or append mode
|
|
||||||
#
|
|
||||||
# There is no real difference if you have overridden the commands bound to 'w', 'e' and 'b' like above
|
# There is no real difference if you have overridden the commands bound to 'w', 'e' and 'b' like above
|
||||||
# But if you really want to get familiar with the Helix way of selecting-while-moving, comment the
|
# But if you really want to get familiar with the Helix way of selecting-while-moving, comment the
|
||||||
# bindings for 'w', 'e', and 'b' out and leave the bindings for 'i' and 'a' active below. A world of difference!
|
# bindings for 'w', 'e', and 'b' out and leave the bindings for 'i' and 'a' active below. A world of difference!
|
||||||
@@ -61,6 +47,7 @@ u = ["undo", "collapse_selection"]
|
|||||||
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
|
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
|
||||||
esc = ["collapse_selection", "keep_primary_selection"]
|
esc = ["collapse_selection", "keep_primary_selection"]
|
||||||
|
|
||||||
|
|
||||||
# Search for word under cursor
|
# Search for word under cursor
|
||||||
"*" = ["move_char_right", "move_prev_word_start", "move_next_word_end", "search_selection", "search_next"]
|
"*" = ["move_char_right", "move_prev_word_start", "move_next_word_end", "search_selection", "search_next"]
|
||||||
"#" = ["move_char_right", "move_prev_word_start", "move_next_word_end", "search_selection", "search_prev"]
|
"#" = ["move_char_right", "move_prev_word_start", "move_next_word_end", "search_selection", "search_prev"]
|
||||||
@@ -102,6 +89,15 @@ g = { g = ["select_mode", "extend_to_line_bounds", "goto_file_start", "extend_to
|
|||||||
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
|
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
|
||||||
esc = ["collapse_selection", "normal_mode"]
|
esc = ["collapse_selection", "normal_mode"]
|
||||||
|
|
||||||
|
[keys.normal.space.space]
|
||||||
|
o = ":config-open"
|
||||||
|
r = ":config-reload"
|
||||||
|
s = ":write-all"
|
||||||
|
|
||||||
|
[keys.normal.space]
|
||||||
|
q = ":q"
|
||||||
|
F = "file_picker_in_current_buffer_directory"
|
||||||
|
|
||||||
[keys.select]
|
[keys.select]
|
||||||
# Muscle memory
|
# Muscle memory
|
||||||
"{" = ["extend_to_line_bounds", "goto_prev_paragraph"]
|
"{" = ["extend_to_line_bounds", "goto_prev_paragraph"]
|
||||||
@@ -111,9 +107,8 @@ esc = ["collapse_selection", "normal_mode"]
|
|||||||
"^" = "goto_first_nonwhitespace"
|
"^" = "goto_first_nonwhitespace"
|
||||||
G = "goto_file_end"
|
G = "goto_file_end"
|
||||||
D = ["extend_to_line_bounds", "delete_selection", "normal_mode"]
|
D = ["extend_to_line_bounds", "delete_selection", "normal_mode"]
|
||||||
C = ["goto_line_start", "extend_to_line_bounds", "change_selection"]
|
|
||||||
"%" = "match_brackets"
|
"%" = "match_brackets"
|
||||||
S = "surround_add" # Basically 99% of what I use vim-surround for
|
S = "surround_add"
|
||||||
u = ["switch_to_lowercase", "collapse_selection", "normal_mode"]
|
u = ["switch_to_lowercase", "collapse_selection", "normal_mode"]
|
||||||
U = ["switch_to_uppercase", "collapse_selection", "normal_mode"]
|
U = ["switch_to_uppercase", "collapse_selection", "normal_mode"]
|
||||||
|
|
||||||
|
|||||||
14
cli/dot-config/helix/languages.toml
Normal file
14
cli/dot-config/helix/languages.toml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
[[language]]
|
||||||
|
name = "python"
|
||||||
|
|
||||||
|
[language.debugger]
|
||||||
|
name = "debugpy"
|
||||||
|
transport = "stdio"
|
||||||
|
command = "python"
|
||||||
|
args = ["-m", "debugpy.adapter"]
|
||||||
|
|
||||||
|
[[language.debugger.templates]]
|
||||||
|
name = "source"
|
||||||
|
request = "launch"
|
||||||
|
completion = [ { name = "entrypoint", completion = "filename", default = "." } ]
|
||||||
|
args = { mode = "debug", program = "{0}" }
|
||||||
5
cli/dot-config/jj/config.toml
Normal file
5
cli/dot-config/jj/config.toml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#:schema https://jj-vcs.github.io/jj/latest/config-schema.json
|
||||||
|
|
||||||
|
[user]
|
||||||
|
name = "Jonas Hahn"
|
||||||
|
email = "jonashahn1@gmx.net"
|
||||||
521
cli/dot-config/zellij/config.kdl
Normal file
521
cli/dot-config/zellij/config.kdl
Normal file
@@ -0,0 +1,521 @@
|
|||||||
|
// Jonas zellij config to make life better
|
||||||
|
|
||||||
|
keybinds clear-defaults=true {
|
||||||
|
locked {
|
||||||
|
bind "Ctrl g" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
pane {
|
||||||
|
bind "left" { MoveFocus "left"; }
|
||||||
|
bind "down" { MoveFocus "down"; }
|
||||||
|
bind "up" { MoveFocus "up"; }
|
||||||
|
bind "right" { MoveFocus "right"; }
|
||||||
|
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
|
||||||
|
bind "d" { NewPane "down"; SwitchToMode "locked"; }
|
||||||
|
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "locked"; }
|
||||||
|
bind "f" { ToggleFocusFullscreen; SwitchToMode "locked"; }
|
||||||
|
bind "h" { MoveFocus "left"; }
|
||||||
|
bind "i" { TogglePanePinned; SwitchToMode "locked"; }
|
||||||
|
bind "j" { MoveFocus "down"; }
|
||||||
|
bind "k" { MoveFocus "up"; }
|
||||||
|
bind "l" { MoveFocus "right"; }
|
||||||
|
bind "n" { NewPane; SwitchToMode "locked"; }
|
||||||
|
bind "p" { SwitchToMode "normal"; }
|
||||||
|
bind "r" { NewPane "right"; SwitchToMode "locked"; }
|
||||||
|
bind "s" { NewPane "stacked"; SwitchToMode "locked"; }
|
||||||
|
bind "w" { ToggleFloatingPanes; SwitchToMode "locked"; }
|
||||||
|
bind "x" { CloseFocus; SwitchToMode "locked"; }
|
||||||
|
bind "z" { TogglePaneFrames; SwitchToMode "locked"; }
|
||||||
|
bind "tab" { SwitchFocus; }
|
||||||
|
}
|
||||||
|
tab {
|
||||||
|
bind "left" { GoToPreviousTab; }
|
||||||
|
bind "down" { GoToNextTab; }
|
||||||
|
bind "up" { GoToPreviousTab; }
|
||||||
|
bind "right" { GoToNextTab; }
|
||||||
|
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"; }
|
||||||
|
bind "[" { BreakPaneLeft; SwitchToMode "locked"; }
|
||||||
|
bind "]" { BreakPaneRight; SwitchToMode "locked"; }
|
||||||
|
bind "b" { BreakPane; SwitchToMode "locked"; }
|
||||||
|
bind "h" { GoToPreviousTab; }
|
||||||
|
bind "j" { GoToNextTab; }
|
||||||
|
bind "k" { GoToPreviousTab; }
|
||||||
|
bind "l" { GoToNextTab; }
|
||||||
|
bind "n" { NewTab; SwitchToMode "locked"; }
|
||||||
|
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
|
||||||
|
bind "s" { ToggleActiveSyncTab; SwitchToMode "locked"; }
|
||||||
|
bind "t" { SwitchToMode "normal"; }
|
||||||
|
bind "x" { CloseTab; SwitchToMode "locked"; }
|
||||||
|
bind "tab" { ToggleTab; }
|
||||||
|
}
|
||||||
|
resize {
|
||||||
|
bind "left" { Resize "Increase left"; }
|
||||||
|
bind "down" { Resize "Increase down"; }
|
||||||
|
bind "up" { Resize "Increase up"; }
|
||||||
|
bind "right" { Resize "Increase right"; }
|
||||||
|
bind "+" { Resize "Increase"; }
|
||||||
|
bind "-" { Resize "Decrease"; }
|
||||||
|
bind "=" { Resize "Increase"; }
|
||||||
|
bind "H" { Resize "Decrease left"; }
|
||||||
|
bind "J" { Resize "Decrease down"; }
|
||||||
|
bind "K" { Resize "Decrease up"; }
|
||||||
|
bind "L" { Resize "Decrease right"; }
|
||||||
|
bind "h" { Resize "Increase left"; }
|
||||||
|
bind "j" { Resize "Increase down"; }
|
||||||
|
bind "k" { Resize "Increase up"; }
|
||||||
|
bind "l" { Resize "Increase right"; }
|
||||||
|
bind "r" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
move {
|
||||||
|
bind "left" { MovePane "left"; }
|
||||||
|
bind "down" { MovePane "down"; }
|
||||||
|
bind "up" { MovePane "up"; }
|
||||||
|
bind "right" { MovePane "right"; }
|
||||||
|
bind "h" { MovePane "left"; }
|
||||||
|
bind "j" { MovePane "down"; }
|
||||||
|
bind "k" { MovePane "up"; }
|
||||||
|
bind "l" { MovePane "right"; }
|
||||||
|
bind "m" { SwitchToMode "normal"; }
|
||||||
|
bind "n" { MovePane; }
|
||||||
|
bind "p" { MovePaneBackwards; }
|
||||||
|
bind "tab" { MovePane; }
|
||||||
|
}
|
||||||
|
scroll {
|
||||||
|
bind "Alt left" { MoveFocusOrTab "left"; SwitchToMode "locked"; }
|
||||||
|
bind "Alt down" { MoveFocus "down"; SwitchToMode "locked"; }
|
||||||
|
bind "Alt up" { MoveFocus "up"; SwitchToMode "locked"; }
|
||||||
|
bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "locked"; }
|
||||||
|
bind "e" { EditScrollback; SwitchToMode "locked"; }
|
||||||
|
bind "f" { SwitchToMode "entersearch"; SearchInput 0; }
|
||||||
|
bind "Alt h" { MoveFocusOrTab "left"; SwitchToMode "locked"; }
|
||||||
|
bind "Alt j" { MoveFocus "down"; SwitchToMode "locked"; }
|
||||||
|
bind "Alt k" { MoveFocus "up"; SwitchToMode "locked"; }
|
||||||
|
bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "locked"; }
|
||||||
|
bind "s" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
search {
|
||||||
|
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||||
|
bind "n" { Search "down"; }
|
||||||
|
bind "o" { SearchToggleOption "WholeWord"; }
|
||||||
|
bind "p" { Search "up"; }
|
||||||
|
bind "w" { SearchToggleOption "Wrap"; }
|
||||||
|
}
|
||||||
|
session {
|
||||||
|
bind "a" {
|
||||||
|
LaunchOrFocusPlugin "zellij:about" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "locked"
|
||||||
|
}
|
||||||
|
bind "c" {
|
||||||
|
LaunchOrFocusPlugin "configuration" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "locked"
|
||||||
|
}
|
||||||
|
bind "d" { Detach; }
|
||||||
|
bind "o" { SwitchToMode "normal"; }
|
||||||
|
bind "p" {
|
||||||
|
LaunchOrFocusPlugin "plugin-manager" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "locked"
|
||||||
|
}
|
||||||
|
bind "s" {
|
||||||
|
LaunchOrFocusPlugin "zellij:share" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "locked"
|
||||||
|
}
|
||||||
|
bind "w" {
|
||||||
|
LaunchOrFocusPlugin "session-manager" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "locked"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
shared_among "normal" "locked" {
|
||||||
|
bind "Alt left" { MoveFocusOrTab "left"; }
|
||||||
|
bind "Alt down" { MoveFocus "down"; }
|
||||||
|
bind "Alt up" { MoveFocus "up"; }
|
||||||
|
bind "Alt right" { MoveFocusOrTab "right"; }
|
||||||
|
bind "Alt +" { Resize "Increase"; }
|
||||||
|
bind "Alt -" { Resize "Decrease"; }
|
||||||
|
bind "Alt =" { Resize "Increase"; }
|
||||||
|
bind "Alt [" { PreviousSwapLayout; }
|
||||||
|
bind "Alt ]" { NextSwapLayout; }
|
||||||
|
bind "Alt f" { ToggleFloatingPanes; }
|
||||||
|
bind "Alt h" { MoveFocusOrTab "left"; }
|
||||||
|
bind "Alt i" { MoveTab "left"; }
|
||||||
|
bind "Alt j" { MoveFocus "down"; }
|
||||||
|
bind "Alt k" { MoveFocus "up"; }
|
||||||
|
bind "Alt l" { MoveFocusOrTab "right"; }
|
||||||
|
bind "Alt n" { NewPane; }
|
||||||
|
bind "Alt o" { MoveTab "right"; }
|
||||||
|
bind "Alt p" { TogglePaneInGroup; }
|
||||||
|
bind "Alt Shift p" { ToggleGroupMarking; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "renametab" "renamepane" {
|
||||||
|
bind "Ctrl g" { SwitchToMode "locked"; }
|
||||||
|
bind "Ctrl q" { Quit; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "entersearch" {
|
||||||
|
bind "enter" { SwitchToMode "locked"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "entersearch" "renametab" "renamepane" {
|
||||||
|
bind "esc" { SwitchToMode "locked"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "entersearch" "renametab" "renamepane" "move" {
|
||||||
|
bind "m" { SwitchToMode "move"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "entersearch" "search" "renametab" "renamepane" "session" {
|
||||||
|
bind "o" { SwitchToMode "session"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "tab" "entersearch" "renametab" "renamepane" {
|
||||||
|
bind "t" { SwitchToMode "tab"; }
|
||||||
|
}
|
||||||
|
shared_among "normal" "resize" "tab" "scroll" "prompt" "tmux" {
|
||||||
|
bind "p" { SwitchToMode "pane"; }
|
||||||
|
}
|
||||||
|
shared_among "normal" "resize" "search" "move" "prompt" "tmux" {
|
||||||
|
bind "s" { SwitchToMode "scroll"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "resize" "pane" "tab" "entersearch" "renametab" "renamepane" {
|
||||||
|
bind "r" { SwitchToMode "resize"; }
|
||||||
|
}
|
||||||
|
shared_among "scroll" "search" {
|
||||||
|
bind "PageDown" { PageScrollDown; }
|
||||||
|
bind "PageUp" { PageScrollUp; }
|
||||||
|
bind "left" { PageScrollUp; }
|
||||||
|
bind "down" { ScrollDown; }
|
||||||
|
bind "up" { ScrollUp; }
|
||||||
|
bind "right" { PageScrollDown; }
|
||||||
|
bind "Ctrl b" { PageScrollUp; }
|
||||||
|
bind "Ctrl c" { ScrollToBottom; SwitchToMode "locked"; }
|
||||||
|
bind "d" { HalfPageScrollDown; }
|
||||||
|
bind "Ctrl f" { PageScrollDown; }
|
||||||
|
bind "h" { PageScrollUp; }
|
||||||
|
bind "j" { ScrollDown; }
|
||||||
|
bind "k" { ScrollUp; }
|
||||||
|
bind "l" { PageScrollDown; }
|
||||||
|
bind "u" { HalfPageScrollUp; }
|
||||||
|
}
|
||||||
|
entersearch {
|
||||||
|
bind "Ctrl c" { SwitchToMode "scroll"; }
|
||||||
|
bind "esc" { SwitchToMode "scroll"; }
|
||||||
|
bind "enter" { SwitchToMode "search"; }
|
||||||
|
}
|
||||||
|
renametab {
|
||||||
|
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
|
||||||
|
}
|
||||||
|
shared_among "renametab" "renamepane" {
|
||||||
|
bind "Ctrl c" { SwitchToMode "locked"; }
|
||||||
|
}
|
||||||
|
renamepane {
|
||||||
|
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Plugin aliases - can be used to change the implementation of Zellij
|
||||||
|
// changing these requires a restart to take effect
|
||||||
|
plugins {
|
||||||
|
about location="zellij:about"
|
||||||
|
compact-bar location="zellij:compact-bar"
|
||||||
|
// compact-bar location="zellij:compact-bar" {
|
||||||
|
// tooltip "F1"
|
||||||
|
// }
|
||||||
|
configuration location="zellij:configuration"
|
||||||
|
filepicker location="zellij:strider" {
|
||||||
|
cwd "/"
|
||||||
|
}
|
||||||
|
plugin-manager location="zellij:plugin-manager"
|
||||||
|
session-manager location="zellij:session-manager"
|
||||||
|
status-bar location="zellij:status-bar"
|
||||||
|
strider location="zellij:strider"
|
||||||
|
tab-bar location="zellij:tab-bar"
|
||||||
|
welcome-screen location="zellij:session-manager" {
|
||||||
|
welcome_screen true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Plugins to load in the background when a new session starts
|
||||||
|
// eg. "file:/path/to/my-plugin.wasm"
|
||||||
|
// eg. "https://example.com/my-plugin.wasm"
|
||||||
|
load_plugins {
|
||||||
|
}
|
||||||
|
web_client {
|
||||||
|
font "monospace"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use a simplified UI without special fonts (arrow glyphs)
|
||||||
|
// Options:
|
||||||
|
// - true
|
||||||
|
// - false (Default)
|
||||||
|
//
|
||||||
|
simplified_ui true
|
||||||
|
|
||||||
|
// Choose the theme that is specified in the themes section.
|
||||||
|
// Default: default
|
||||||
|
//
|
||||||
|
theme "gruvbox-dark"
|
||||||
|
|
||||||
|
// Choose the base input mode of zellij.
|
||||||
|
// Default: normal
|
||||||
|
//
|
||||||
|
default_mode "locked"
|
||||||
|
|
||||||
|
// Choose the path to the default shell that zellij will use for opening new panes
|
||||||
|
// Default: $SHELL
|
||||||
|
//
|
||||||
|
// default_shell "fish"
|
||||||
|
|
||||||
|
// Choose the path to override cwd that zellij will use for opening new panes
|
||||||
|
//
|
||||||
|
// default_cwd "/tmp"
|
||||||
|
|
||||||
|
// The name of the default layout to load on startup
|
||||||
|
// Default: "default"
|
||||||
|
//
|
||||||
|
// default_layout "compact"
|
||||||
|
|
||||||
|
// The folder in which Zellij will look for layouts
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// layout_dir "/tmp"
|
||||||
|
|
||||||
|
// The folder in which Zellij will look for themes
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// theme_dir "/tmp"
|
||||||
|
|
||||||
|
// Toggle enabling the mouse mode.
|
||||||
|
// On certain configurations, or terminals this could
|
||||||
|
// potentially interfere with copying text.
|
||||||
|
// Options:
|
||||||
|
// - true (default)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// mouse_mode false
|
||||||
|
|
||||||
|
// Toggle having pane frames around the panes
|
||||||
|
// Options:
|
||||||
|
// - true (default, enabled)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
pane_frames false
|
||||||
|
|
||||||
|
// When attaching to an existing session with other users,
|
||||||
|
// should the session be mirrored (true)
|
||||||
|
// or should each user have their own cursor (false)
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// mirror_session true
|
||||||
|
|
||||||
|
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||||
|
// eg. when terminal window with an active zellij session is closed
|
||||||
|
// (Requires restart)
|
||||||
|
// Options:
|
||||||
|
// - detach (Default)
|
||||||
|
// - quit
|
||||||
|
//
|
||||||
|
// on_force_close "quit"
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
// (Requires restart)
|
||||||
|
// 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
|
||||||
|
//
|
||||||
|
// copy_command "pbcopy"
|
||||||
|
|
||||||
|
// 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 automatic copying (and clearing) of selection when releasing mouse
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// copy_on_select true
|
||||||
|
|
||||||
|
// Path to the default editor to use to edit pane scrollbuffer
|
||||||
|
// Default: $EDITOR or $VISUAL
|
||||||
|
// scrollback_editor "/usr/bin/vim"
|
||||||
|
|
||||||
|
// A fixed name to always give the Zellij session.
|
||||||
|
// Consider also setting `attach_to_session true,`
|
||||||
|
// otherwise this will error if such a session exists.
|
||||||
|
// Default: <RANDOM>
|
||||||
|
//
|
||||||
|
session_name "JonasWork"
|
||||||
|
|
||||||
|
// When `session_name` is provided, attaches to that session
|
||||||
|
// if it is already running or creates it otherwise.
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
attach_to_session true
|
||||||
|
|
||||||
|
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||||
|
// Options:
|
||||||
|
// - true (default)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// auto_layout false
|
||||||
|
|
||||||
|
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||||
|
// Options:
|
||||||
|
// - true (default)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// session_serialization false
|
||||||
|
|
||||||
|
// Whether pane viewports are serialized along with the session, default is false
|
||||||
|
// Options:
|
||||||
|
// - true
|
||||||
|
// - false (default)
|
||||||
|
//
|
||||||
|
// serialize_pane_viewport false
|
||||||
|
|
||||||
|
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||||
|
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||||
|
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||||
|
//
|
||||||
|
// scrollback_lines_to_serialize 10000
|
||||||
|
|
||||||
|
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||||
|
// May need to be disabled for certain unsupported terminals
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// styled_underlines false
|
||||||
|
|
||||||
|
// How often in seconds sessions are serialized
|
||||||
|
//
|
||||||
|
// serialization_interval 10000
|
||||||
|
|
||||||
|
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||||
|
// metadata info on this session)
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// disable_session_metadata false
|
||||||
|
|
||||||
|
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: true (if the host terminal supports it)
|
||||||
|
//
|
||||||
|
// support_kitty_keyboard_protocol false
|
||||||
|
// Whether to make sure a local web server is running when a new Zellij session starts.
|
||||||
|
// This web server will allow creating new sessions and attaching to existing ones that have
|
||||||
|
// opted in to being shared in the browser.
|
||||||
|
// When enabled, navigate to http://127.0.0.1:8082
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
|
||||||
|
// If this is not desired, one can use a version of Zellij compiled without
|
||||||
|
// `web_server_capability`
|
||||||
|
//
|
||||||
|
// Possible values:
|
||||||
|
// - true
|
||||||
|
// - false
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// web_server false
|
||||||
|
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
|
||||||
|
// running (see the `web_server` option for more details).
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// Note: This is an administrative separation and not intended as a security measure.
|
||||||
|
//
|
||||||
|
// Possible values:
|
||||||
|
// - "on" (allow web sharing through the local web server if it
|
||||||
|
// is online)
|
||||||
|
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
|
||||||
|
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
|
||||||
|
// Default: "off"
|
||||||
|
//
|
||||||
|
// web_sharing "off"
|
||||||
|
// A path to a certificate file to be used when setting up the web client to serve the
|
||||||
|
// connection over HTTPs
|
||||||
|
//
|
||||||
|
// web_server_cert "/path/to/cert.pem"
|
||||||
|
// A path to a key file to be used when setting up the web client to serve the
|
||||||
|
// connection over HTTPs
|
||||||
|
//
|
||||||
|
// web_server_key "/path/to/key.pem"
|
||||||
|
/// Whether to enforce https connections to the web server when it is bound to localhost
|
||||||
|
/// (127.0.0.0/8)
|
||||||
|
///
|
||||||
|
/// Note: https is ALWAYS enforced when bound to non-local interfaces
|
||||||
|
///
|
||||||
|
/// Default: false
|
||||||
|
//
|
||||||
|
// enforce_https_for_localhost false
|
||||||
|
|
||||||
|
// Whether to stack panes when resizing beyond a certain size
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// stacked_resize false
|
||||||
|
|
||||||
|
// Whether to show tips on startup
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
show_startup_tips false
|
||||||
|
|
||||||
|
// Whether to show release notes on first version run
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
show_release_notes false
|
||||||
|
|
||||||
|
// Whether to enable mouse hover effects and pane grouping functionality
|
||||||
|
// default is true
|
||||||
|
// advanced_mouse_actions false
|
||||||
|
|
||||||
|
// The ip address the web server should listen on when it starts
|
||||||
|
// Default: "127.0.0.1"
|
||||||
|
// (Requires restart)
|
||||||
|
// web_server_ip "127.0.0.1"
|
||||||
|
|
||||||
|
// The port the web server should listen on when it starts
|
||||||
|
// Default: 8082
|
||||||
|
// (Requires restart)
|
||||||
|
// web_server_port 8082
|
||||||
|
|
||||||
|
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
|
||||||
|
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
|
||||||
|
// of this command will be used instead of the discovered RESURRECT_COMMAND
|
||||||
|
// can be useful for removing wrappers around commands
|
||||||
|
// Note: be sure to escape backslashes and similar characters properly
|
||||||
|
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"
|
||||||
|
//
|
||||||
|
|
||||||
532
cli/dot-config/zellij/config.kdl.bak
Normal file
532
cli/dot-config/zellij/config.kdl.bak
Normal file
@@ -0,0 +1,532 @@
|
|||||||
|
keybinds clear-defaults=true {
|
||||||
|
locked {
|
||||||
|
bind "Ctrl g" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
pane {
|
||||||
|
bind "left" { MoveFocus "left"; }
|
||||||
|
bind "down" { MoveFocus "down"; }
|
||||||
|
bind "up" { MoveFocus "up"; }
|
||||||
|
bind "right" { MoveFocus "right"; }
|
||||||
|
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
|
||||||
|
bind "d" { NewPane "down"; SwitchToMode "normal"; }
|
||||||
|
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
|
||||||
|
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||||
|
bind "h" { MoveFocus "left"; }
|
||||||
|
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
|
||||||
|
bind "j" { MoveFocus "down"; }
|
||||||
|
bind "k" { MoveFocus "up"; }
|
||||||
|
bind "l" { MoveFocus "right"; }
|
||||||
|
bind "n" { NewPane; SwitchToMode "normal"; }
|
||||||
|
bind "p" { SwitchFocus; }
|
||||||
|
bind "Ctrl p" { SwitchToMode "normal"; }
|
||||||
|
bind "r" { NewPane "right"; SwitchToMode "normal"; }
|
||||||
|
bind "s" { NewPane "stacked"; SwitchToMode "normal"; }
|
||||||
|
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
|
||||||
|
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
tab {
|
||||||
|
bind "left" { GoToPreviousTab; }
|
||||||
|
bind "down" { GoToNextTab; }
|
||||||
|
bind "up" { GoToPreviousTab; }
|
||||||
|
bind "right" { GoToNextTab; }
|
||||||
|
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 "[" { BreakPaneLeft; SwitchToMode "normal"; }
|
||||||
|
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
|
||||||
|
bind "b" { BreakPane; SwitchToMode "normal"; }
|
||||||
|
bind "h" { GoToPreviousTab; }
|
||||||
|
bind "j" { GoToNextTab; }
|
||||||
|
bind "k" { GoToPreviousTab; }
|
||||||
|
bind "l" { GoToNextTab; }
|
||||||
|
bind "n" { NewTab; SwitchToMode "normal"; }
|
||||||
|
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
|
||||||
|
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
|
||||||
|
bind "Ctrl t" { SwitchToMode "normal"; }
|
||||||
|
bind "x" { CloseTab; SwitchToMode "normal"; }
|
||||||
|
bind "tab" { ToggleTab; }
|
||||||
|
}
|
||||||
|
resize {
|
||||||
|
bind "left" { Resize "Increase left"; }
|
||||||
|
bind "down" { Resize "Increase down"; }
|
||||||
|
bind "up" { Resize "Increase up"; }
|
||||||
|
bind "right" { Resize "Increase right"; }
|
||||||
|
bind "+" { Resize "Increase"; }
|
||||||
|
bind "-" { Resize "Decrease"; }
|
||||||
|
bind "=" { Resize "Increase"; }
|
||||||
|
bind "H" { Resize "Decrease left"; }
|
||||||
|
bind "J" { Resize "Decrease down"; }
|
||||||
|
bind "K" { Resize "Decrease up"; }
|
||||||
|
bind "L" { Resize "Decrease right"; }
|
||||||
|
bind "h" { Resize "Increase left"; }
|
||||||
|
bind "j" { Resize "Increase down"; }
|
||||||
|
bind "k" { Resize "Increase up"; }
|
||||||
|
bind "l" { Resize "Increase right"; }
|
||||||
|
bind "Ctrl n" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
move {
|
||||||
|
bind "left" { MovePane "left"; }
|
||||||
|
bind "down" { MovePane "down"; }
|
||||||
|
bind "up" { MovePane "up"; }
|
||||||
|
bind "right" { MovePane "right"; }
|
||||||
|
bind "h" { MovePane "left"; }
|
||||||
|
bind "Ctrl h" { SwitchToMode "normal"; }
|
||||||
|
bind "j" { MovePane "down"; }
|
||||||
|
bind "k" { MovePane "up"; }
|
||||||
|
bind "l" { MovePane "right"; }
|
||||||
|
bind "n" { MovePane; }
|
||||||
|
bind "p" { MovePaneBackwards; }
|
||||||
|
bind "tab" { MovePane; }
|
||||||
|
}
|
||||||
|
scroll {
|
||||||
|
bind "e" { EditScrollback; SwitchToMode "normal"; }
|
||||||
|
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
|
||||||
|
}
|
||||||
|
search {
|
||||||
|
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||||
|
bind "n" { Search "down"; }
|
||||||
|
bind "o" { SearchToggleOption "WholeWord"; }
|
||||||
|
bind "p" { Search "up"; }
|
||||||
|
bind "w" { SearchToggleOption "Wrap"; }
|
||||||
|
}
|
||||||
|
session {
|
||||||
|
bind "a" {
|
||||||
|
LaunchOrFocusPlugin "zellij:about" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "c" {
|
||||||
|
LaunchOrFocusPlugin "configuration" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "Ctrl o" { SwitchToMode "normal"; }
|
||||||
|
bind "p" {
|
||||||
|
LaunchOrFocusPlugin "plugin-manager" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "s" {
|
||||||
|
LaunchOrFocusPlugin "zellij:share" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "w" {
|
||||||
|
LaunchOrFocusPlugin "session-manager" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
shared_except "locked" {
|
||||||
|
bind "Alt left" { MoveFocusOrTab "left"; }
|
||||||
|
bind "Alt down" { MoveFocus "down"; }
|
||||||
|
bind "Alt up" { MoveFocus "up"; }
|
||||||
|
bind "Alt right" { MoveFocusOrTab "right"; }
|
||||||
|
bind "Alt +" { Resize "Increase"; }
|
||||||
|
bind "Alt -" { Resize "Decrease"; }
|
||||||
|
bind "Alt =" { Resize "Increase"; }
|
||||||
|
bind "Alt [" { PreviousSwapLayout; }
|
||||||
|
bind "Alt ]" { NextSwapLayout; }
|
||||||
|
bind "Alt f" { ToggleFloatingPanes; }
|
||||||
|
bind "Ctrl g" { SwitchToMode "locked"; }
|
||||||
|
bind "Alt h" { MoveFocusOrTab "left"; }
|
||||||
|
bind "Alt i" { MoveTab "left"; }
|
||||||
|
bind "Alt j" { MoveFocus "down"; }
|
||||||
|
bind "Alt k" { MoveFocus "up"; }
|
||||||
|
bind "Alt l" { MoveFocusOrTab "right"; }
|
||||||
|
bind "Alt n" { NewPane; }
|
||||||
|
bind "Alt o" { MoveTab "right"; }
|
||||||
|
bind "Alt p" { TogglePaneInGroup; }
|
||||||
|
bind "Alt Shift p" { ToggleGroupMarking; }
|
||||||
|
bind "Ctrl q" { Quit; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "move" {
|
||||||
|
bind "Ctrl h" { SwitchToMode "move"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "session" {
|
||||||
|
bind "Ctrl o" { SwitchToMode "session"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "scroll" "search" "tmux" {
|
||||||
|
bind "Ctrl b" { SwitchToMode "tmux"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "scroll" "search" {
|
||||||
|
bind "Ctrl s" { SwitchToMode "scroll"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "tab" {
|
||||||
|
bind "Ctrl t" { SwitchToMode "tab"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "pane" {
|
||||||
|
bind "Ctrl p" { SwitchToMode "pane"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "resize" {
|
||||||
|
bind "Ctrl n" { SwitchToMode "resize"; }
|
||||||
|
}
|
||||||
|
shared_except "normal" "locked" "entersearch" {
|
||||||
|
bind "enter" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
|
||||||
|
bind "esc" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
shared_among "pane" "tmux" {
|
||||||
|
bind "x" { CloseFocus; SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
shared_among "scroll" "search" {
|
||||||
|
bind "PageDown" { PageScrollDown; }
|
||||||
|
bind "PageUp" { PageScrollUp; }
|
||||||
|
bind "left" { PageScrollUp; }
|
||||||
|
bind "down" { ScrollDown; }
|
||||||
|
bind "up" { ScrollUp; }
|
||||||
|
bind "right" { PageScrollDown; }
|
||||||
|
bind "Ctrl b" { PageScrollUp; }
|
||||||
|
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
|
||||||
|
bind "d" { HalfPageScrollDown; }
|
||||||
|
bind "Ctrl f" { PageScrollDown; }
|
||||||
|
bind "h" { PageScrollUp; }
|
||||||
|
bind "j" { ScrollDown; }
|
||||||
|
bind "k" { ScrollUp; }
|
||||||
|
bind "l" { PageScrollDown; }
|
||||||
|
bind "Ctrl s" { SwitchToMode "normal"; }
|
||||||
|
bind "u" { HalfPageScrollUp; }
|
||||||
|
}
|
||||||
|
entersearch {
|
||||||
|
bind "Ctrl c" { SwitchToMode "scroll"; }
|
||||||
|
bind "esc" { SwitchToMode "scroll"; }
|
||||||
|
bind "enter" { SwitchToMode "search"; }
|
||||||
|
}
|
||||||
|
renametab {
|
||||||
|
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
|
||||||
|
}
|
||||||
|
shared_among "renametab" "renamepane" {
|
||||||
|
bind "Ctrl c" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
renamepane {
|
||||||
|
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
|
||||||
|
}
|
||||||
|
shared_among "session" "tmux" {
|
||||||
|
bind "d" { Detach; }
|
||||||
|
}
|
||||||
|
tmux {
|
||||||
|
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||||
|
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||||
|
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||||
|
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||||
|
bind "space" { NextSwapLayout; }
|
||||||
|
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
|
||||||
|
bind "%" { NewPane "right"; SwitchToMode "normal"; }
|
||||||
|
bind "," { SwitchToMode "renametab"; }
|
||||||
|
bind "[" { SwitchToMode "scroll"; }
|
||||||
|
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
|
||||||
|
bind "c" { NewTab; SwitchToMode "normal"; }
|
||||||
|
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" { GoToNextTab; SwitchToMode "normal"; }
|
||||||
|
bind "o" { FocusNextPane; }
|
||||||
|
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
|
||||||
|
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Plugin aliases - can be used to change the implementation of Zellij
|
||||||
|
// changing these requires a restart to take effect
|
||||||
|
plugins {
|
||||||
|
about location="zellij:about"
|
||||||
|
compact-bar location="zellij:compact-bar"
|
||||||
|
configuration location="zellij:configuration"
|
||||||
|
filepicker location="zellij:strider" {
|
||||||
|
cwd "/"
|
||||||
|
}
|
||||||
|
plugin-manager location="zellij:plugin-manager"
|
||||||
|
session-manager location="zellij:session-manager"
|
||||||
|
status-bar location="zellij:status-bar"
|
||||||
|
strider location="zellij:strider"
|
||||||
|
tab-bar location="zellij:tab-bar"
|
||||||
|
welcome-screen location="zellij:session-manager" {
|
||||||
|
welcome_screen true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Plugins to load in the background when a new session starts
|
||||||
|
// eg. "file:/path/to/my-plugin.wasm"
|
||||||
|
// eg. "https://example.com/my-plugin.wasm"
|
||||||
|
load_plugins {
|
||||||
|
}
|
||||||
|
web_client {
|
||||||
|
font "monospace"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use a simplified UI without special fonts (arrow glyphs)
|
||||||
|
// Options:
|
||||||
|
// - true
|
||||||
|
// - false (Default)
|
||||||
|
//
|
||||||
|
// simplified_ui true
|
||||||
|
|
||||||
|
// Choose the theme that is specified in the themes section.
|
||||||
|
// Default: default
|
||||||
|
//
|
||||||
|
// theme "dracula"
|
||||||
|
|
||||||
|
// Choose the base input mode of zellij.
|
||||||
|
// Default: normal
|
||||||
|
//
|
||||||
|
// default_mode "locked"
|
||||||
|
|
||||||
|
// Choose the path to the default shell that zellij will use for opening new panes
|
||||||
|
// Default: $SHELL
|
||||||
|
//
|
||||||
|
// default_shell "fish"
|
||||||
|
|
||||||
|
// Choose the path to override cwd that zellij will use for opening new panes
|
||||||
|
//
|
||||||
|
// default_cwd "/tmp"
|
||||||
|
|
||||||
|
// The name of the default layout to load on startup
|
||||||
|
// Default: "default"
|
||||||
|
//
|
||||||
|
// default_layout "compact"
|
||||||
|
|
||||||
|
// The folder in which Zellij will look for layouts
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// layout_dir "/tmp"
|
||||||
|
|
||||||
|
// The folder in which Zellij will look for themes
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// theme_dir "/tmp"
|
||||||
|
|
||||||
|
// Toggle enabling the mouse mode.
|
||||||
|
// On certain configurations, or terminals this could
|
||||||
|
// potentially interfere with copying text.
|
||||||
|
// Options:
|
||||||
|
// - true (default)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// mouse_mode false
|
||||||
|
|
||||||
|
// Toggle having pane frames around the panes
|
||||||
|
// Options:
|
||||||
|
// - true (default, enabled)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// pane_frames false
|
||||||
|
|
||||||
|
// When attaching to an existing session with other users,
|
||||||
|
// should the session be mirrored (true)
|
||||||
|
// or should each user have their own cursor (false)
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// mirror_session true
|
||||||
|
|
||||||
|
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||||
|
// eg. when terminal window with an active zellij session is closed
|
||||||
|
// (Requires restart)
|
||||||
|
// Options:
|
||||||
|
// - detach (Default)
|
||||||
|
// - quit
|
||||||
|
//
|
||||||
|
// on_force_close "quit"
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
// (Requires restart)
|
||||||
|
// 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
|
||||||
|
//
|
||||||
|
// copy_command "pbcopy"
|
||||||
|
|
||||||
|
// 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 automatic copying (and clearing) of selection when releasing mouse
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// copy_on_select true
|
||||||
|
|
||||||
|
// Path to the default editor to use to edit pane scrollbuffer
|
||||||
|
// Default: $EDITOR or $VISUAL
|
||||||
|
// scrollback_editor "/usr/bin/vim"
|
||||||
|
|
||||||
|
// A fixed name to always give the Zellij session.
|
||||||
|
// Consider also setting `attach_to_session true,`
|
||||||
|
// otherwise this will error if such a session exists.
|
||||||
|
// Default: <RANDOM>
|
||||||
|
//
|
||||||
|
// session_name "My singleton session"
|
||||||
|
|
||||||
|
// When `session_name` is provided, attaches to that session
|
||||||
|
// if it is already running or creates it otherwise.
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// attach_to_session true
|
||||||
|
|
||||||
|
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||||
|
// Options:
|
||||||
|
// - true (default)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// auto_layout false
|
||||||
|
|
||||||
|
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||||
|
// Options:
|
||||||
|
// - true (default)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// session_serialization false
|
||||||
|
|
||||||
|
// Whether pane viewports are serialized along with the session, default is false
|
||||||
|
// Options:
|
||||||
|
// - true
|
||||||
|
// - false (default)
|
||||||
|
//
|
||||||
|
// serialize_pane_viewport false
|
||||||
|
|
||||||
|
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||||
|
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||||
|
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||||
|
//
|
||||||
|
// scrollback_lines_to_serialize 10000
|
||||||
|
|
||||||
|
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||||
|
// May need to be disabled for certain unsupported terminals
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// styled_underlines false
|
||||||
|
|
||||||
|
// How often in seconds sessions are serialized
|
||||||
|
//
|
||||||
|
// serialization_interval 10000
|
||||||
|
|
||||||
|
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||||
|
// metadata info on this session)
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// disable_session_metadata false
|
||||||
|
|
||||||
|
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: true (if the host terminal supports it)
|
||||||
|
//
|
||||||
|
// support_kitty_keyboard_protocol false
|
||||||
|
// Whether to make sure a local web server is running when a new Zellij session starts.
|
||||||
|
// This web server will allow creating new sessions and attaching to existing ones that have
|
||||||
|
// opted in to being shared in the browser.
|
||||||
|
// When enabled, navigate to http://127.0.0.1:8082
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
|
||||||
|
// If this is not desired, one can use a version of Zellij compiled without
|
||||||
|
// `web_server_capability`
|
||||||
|
//
|
||||||
|
// Possible values:
|
||||||
|
// - true
|
||||||
|
// - false
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// web_server false
|
||||||
|
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
|
||||||
|
// running (see the `web_server` option for more details).
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// Note: This is an administrative separation and not intended as a security measure.
|
||||||
|
//
|
||||||
|
// Possible values:
|
||||||
|
// - "on" (allow web sharing through the local web server if it
|
||||||
|
// is online)
|
||||||
|
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
|
||||||
|
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
|
||||||
|
// Default: "off"
|
||||||
|
//
|
||||||
|
// web_sharing "off"
|
||||||
|
// A path to a certificate file to be used when setting up the web client to serve the
|
||||||
|
// connection over HTTPs
|
||||||
|
//
|
||||||
|
// web_server_cert "/path/to/cert.pem"
|
||||||
|
// A path to a key file to be used when setting up the web client to serve the
|
||||||
|
// connection over HTTPs
|
||||||
|
//
|
||||||
|
// web_server_key "/path/to/key.pem"
|
||||||
|
/// Whether to enforce https connections to the web server when it is bound to localhost
|
||||||
|
/// (127.0.0.0/8)
|
||||||
|
///
|
||||||
|
/// Note: https is ALWAYS enforced when bound to non-local interfaces
|
||||||
|
///
|
||||||
|
/// Default: false
|
||||||
|
//
|
||||||
|
// enforce_https_for_localhost false
|
||||||
|
|
||||||
|
// Whether to stack panes when resizing beyond a certain size
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// stacked_resize false
|
||||||
|
|
||||||
|
// Whether to show tips on startup
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// show_startup_tips false
|
||||||
|
|
||||||
|
// Whether to show release notes on first version run
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// show_release_notes false
|
||||||
|
|
||||||
|
// Whether to enable mouse hover effects and pane grouping functionality
|
||||||
|
// default is true
|
||||||
|
// advanced_mouse_actions false
|
||||||
|
|
||||||
|
// The ip address the web server should listen on when it starts
|
||||||
|
// Default: "127.0.0.1"
|
||||||
|
// (Requires restart)
|
||||||
|
// web_server_ip "127.0.0.1"
|
||||||
|
|
||||||
|
// The port the web server should listen on when it starts
|
||||||
|
// Default: 8082
|
||||||
|
// (Requires restart)
|
||||||
|
// web_server_port 8082
|
||||||
|
|
||||||
|
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
|
||||||
|
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
|
||||||
|
// of this command will be used instead of the discovered RESURRECT_COMMAND
|
||||||
|
// can be useful for removing wrappers around commands
|
||||||
|
// Note: be sure to escape backslashes and similar characters properly
|
||||||
|
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"
|
||||||
536
cli/dot-config/zellij/config.kdl.bak.1
Normal file
536
cli/dot-config/zellij/config.kdl.bak.1
Normal file
@@ -0,0 +1,536 @@
|
|||||||
|
//
|
||||||
|
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/jonas/.config/zellij/config.kdl.bak
|
||||||
|
//
|
||||||
|
|
||||||
|
keybinds clear-defaults=true {
|
||||||
|
locked {
|
||||||
|
bind "Ctrl g" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
pane {
|
||||||
|
bind "left" { MoveFocus "left"; }
|
||||||
|
bind "down" { MoveFocus "down"; }
|
||||||
|
bind "up" { MoveFocus "up"; }
|
||||||
|
bind "right" { MoveFocus "right"; }
|
||||||
|
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
|
||||||
|
bind "d" { NewPane "down"; SwitchToMode "normal"; }
|
||||||
|
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
|
||||||
|
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||||
|
bind "h" { MoveFocus "left"; }
|
||||||
|
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
|
||||||
|
bind "j" { MoveFocus "down"; }
|
||||||
|
bind "k" { MoveFocus "up"; }
|
||||||
|
bind "l" { MoveFocus "right"; }
|
||||||
|
bind "n" { NewPane; SwitchToMode "normal"; }
|
||||||
|
bind "p" { SwitchFocus; }
|
||||||
|
bind "Ctrl p" { SwitchToMode "normal"; }
|
||||||
|
bind "r" { NewPane "right"; SwitchToMode "normal"; }
|
||||||
|
bind "s" { NewPane "stacked"; SwitchToMode "normal"; }
|
||||||
|
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
|
||||||
|
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
tab {
|
||||||
|
bind "left" { GoToPreviousTab; }
|
||||||
|
bind "down" { GoToNextTab; }
|
||||||
|
bind "up" { GoToPreviousTab; }
|
||||||
|
bind "right" { GoToNextTab; }
|
||||||
|
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 "[" { BreakPaneLeft; SwitchToMode "normal"; }
|
||||||
|
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
|
||||||
|
bind "b" { BreakPane; SwitchToMode "normal"; }
|
||||||
|
bind "h" { GoToPreviousTab; }
|
||||||
|
bind "j" { GoToNextTab; }
|
||||||
|
bind "k" { GoToPreviousTab; }
|
||||||
|
bind "l" { GoToNextTab; }
|
||||||
|
bind "n" { NewTab; SwitchToMode "normal"; }
|
||||||
|
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
|
||||||
|
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
|
||||||
|
bind "Ctrl t" { SwitchToMode "normal"; }
|
||||||
|
bind "x" { CloseTab; SwitchToMode "normal"; }
|
||||||
|
bind "tab" { ToggleTab; }
|
||||||
|
}
|
||||||
|
resize {
|
||||||
|
bind "left" { Resize "Increase left"; }
|
||||||
|
bind "down" { Resize "Increase down"; }
|
||||||
|
bind "up" { Resize "Increase up"; }
|
||||||
|
bind "right" { Resize "Increase right"; }
|
||||||
|
bind "+" { Resize "Increase"; }
|
||||||
|
bind "-" { Resize "Decrease"; }
|
||||||
|
bind "=" { Resize "Increase"; }
|
||||||
|
bind "H" { Resize "Decrease left"; }
|
||||||
|
bind "J" { Resize "Decrease down"; }
|
||||||
|
bind "K" { Resize "Decrease up"; }
|
||||||
|
bind "L" { Resize "Decrease right"; }
|
||||||
|
bind "h" { Resize "Increase left"; }
|
||||||
|
bind "j" { Resize "Increase down"; }
|
||||||
|
bind "k" { Resize "Increase up"; }
|
||||||
|
bind "l" { Resize "Increase right"; }
|
||||||
|
bind "Ctrl n" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
move {
|
||||||
|
bind "left" { MovePane "left"; }
|
||||||
|
bind "down" { MovePane "down"; }
|
||||||
|
bind "up" { MovePane "up"; }
|
||||||
|
bind "right" { MovePane "right"; }
|
||||||
|
bind "h" { MovePane "left"; }
|
||||||
|
bind "Ctrl h" { SwitchToMode "normal"; }
|
||||||
|
bind "j" { MovePane "down"; }
|
||||||
|
bind "k" { MovePane "up"; }
|
||||||
|
bind "l" { MovePane "right"; }
|
||||||
|
bind "n" { MovePane; }
|
||||||
|
bind "p" { MovePaneBackwards; }
|
||||||
|
bind "tab" { MovePane; }
|
||||||
|
}
|
||||||
|
scroll {
|
||||||
|
bind "e" { EditScrollback; SwitchToMode "normal"; }
|
||||||
|
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
|
||||||
|
}
|
||||||
|
search {
|
||||||
|
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||||
|
bind "n" { Search "down"; }
|
||||||
|
bind "o" { SearchToggleOption "WholeWord"; }
|
||||||
|
bind "p" { Search "up"; }
|
||||||
|
bind "w" { SearchToggleOption "Wrap"; }
|
||||||
|
}
|
||||||
|
session {
|
||||||
|
bind "a" {
|
||||||
|
LaunchOrFocusPlugin "zellij:about" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "c" {
|
||||||
|
LaunchOrFocusPlugin "configuration" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "Ctrl o" { SwitchToMode "normal"; }
|
||||||
|
bind "p" {
|
||||||
|
LaunchOrFocusPlugin "plugin-manager" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "s" {
|
||||||
|
LaunchOrFocusPlugin "zellij:share" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "w" {
|
||||||
|
LaunchOrFocusPlugin "session-manager" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
shared_except "locked" {
|
||||||
|
bind "Alt left" { MoveFocusOrTab "left"; }
|
||||||
|
bind "Alt down" { MoveFocus "down"; }
|
||||||
|
bind "Alt up" { MoveFocus "up"; }
|
||||||
|
bind "Alt right" { MoveFocusOrTab "right"; }
|
||||||
|
bind "Alt +" { Resize "Increase"; }
|
||||||
|
bind "Alt -" { Resize "Decrease"; }
|
||||||
|
bind "Alt =" { Resize "Increase"; }
|
||||||
|
bind "Alt [" { PreviousSwapLayout; }
|
||||||
|
bind "Alt ]" { NextSwapLayout; }
|
||||||
|
bind "Alt f" { ToggleFloatingPanes; }
|
||||||
|
bind "Ctrl g" { SwitchToMode "locked"; }
|
||||||
|
bind "Alt h" { MoveFocusOrTab "left"; }
|
||||||
|
bind "Alt i" { MoveTab "left"; }
|
||||||
|
bind "Alt j" { MoveFocus "down"; }
|
||||||
|
bind "Alt k" { MoveFocus "up"; }
|
||||||
|
bind "Alt l" { MoveFocusOrTab "right"; }
|
||||||
|
bind "Alt n" { NewPane; }
|
||||||
|
bind "Alt o" { MoveTab "right"; }
|
||||||
|
bind "Alt p" { TogglePaneInGroup; }
|
||||||
|
bind "Alt Shift p" { ToggleGroupMarking; }
|
||||||
|
bind "Ctrl q" { Quit; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "move" {
|
||||||
|
bind "Ctrl h" { SwitchToMode "move"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "session" {
|
||||||
|
bind "Ctrl o" { SwitchToMode "session"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "scroll" "search" "tmux" {
|
||||||
|
bind "Ctrl b" { SwitchToMode "tmux"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "scroll" "search" {
|
||||||
|
bind "Ctrl s" { SwitchToMode "scroll"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "tab" {
|
||||||
|
bind "Ctrl t" { SwitchToMode "tab"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "pane" {
|
||||||
|
bind "Ctrl p" { SwitchToMode "pane"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "resize" {
|
||||||
|
bind "Ctrl n" { SwitchToMode "resize"; }
|
||||||
|
}
|
||||||
|
shared_except "normal" "locked" "entersearch" {
|
||||||
|
bind "enter" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
|
||||||
|
bind "esc" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
shared_among "pane" "tmux" {
|
||||||
|
bind "x" { CloseFocus; SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
shared_among "scroll" "search" {
|
||||||
|
bind "PageDown" { PageScrollDown; }
|
||||||
|
bind "PageUp" { PageScrollUp; }
|
||||||
|
bind "left" { PageScrollUp; }
|
||||||
|
bind "down" { ScrollDown; }
|
||||||
|
bind "up" { ScrollUp; }
|
||||||
|
bind "right" { PageScrollDown; }
|
||||||
|
bind "Ctrl b" { PageScrollUp; }
|
||||||
|
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
|
||||||
|
bind "d" { HalfPageScrollDown; }
|
||||||
|
bind "Ctrl f" { PageScrollDown; }
|
||||||
|
bind "h" { PageScrollUp; }
|
||||||
|
bind "j" { ScrollDown; }
|
||||||
|
bind "k" { ScrollUp; }
|
||||||
|
bind "l" { PageScrollDown; }
|
||||||
|
bind "Ctrl s" { SwitchToMode "normal"; }
|
||||||
|
bind "u" { HalfPageScrollUp; }
|
||||||
|
}
|
||||||
|
entersearch {
|
||||||
|
bind "Ctrl c" { SwitchToMode "scroll"; }
|
||||||
|
bind "esc" { SwitchToMode "scroll"; }
|
||||||
|
bind "enter" { SwitchToMode "search"; }
|
||||||
|
}
|
||||||
|
renametab {
|
||||||
|
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
|
||||||
|
}
|
||||||
|
shared_among "renametab" "renamepane" {
|
||||||
|
bind "Ctrl c" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
renamepane {
|
||||||
|
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
|
||||||
|
}
|
||||||
|
shared_among "session" "tmux" {
|
||||||
|
bind "d" { Detach; }
|
||||||
|
}
|
||||||
|
tmux {
|
||||||
|
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||||
|
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||||
|
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||||
|
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||||
|
bind "space" { NextSwapLayout; }
|
||||||
|
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
|
||||||
|
bind "%" { NewPane "right"; SwitchToMode "normal"; }
|
||||||
|
bind "," { SwitchToMode "renametab"; }
|
||||||
|
bind "[" { SwitchToMode "scroll"; }
|
||||||
|
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
|
||||||
|
bind "c" { NewTab; SwitchToMode "normal"; }
|
||||||
|
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" { GoToNextTab; SwitchToMode "normal"; }
|
||||||
|
bind "o" { FocusNextPane; }
|
||||||
|
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
|
||||||
|
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Plugin aliases - can be used to change the implementation of Zellij
|
||||||
|
// changing these requires a restart to take effect
|
||||||
|
plugins {
|
||||||
|
about location="zellij:about"
|
||||||
|
compact-bar location="zellij:compact-bar"
|
||||||
|
configuration location="zellij:configuration"
|
||||||
|
filepicker location="zellij:strider" {
|
||||||
|
cwd "/"
|
||||||
|
}
|
||||||
|
plugin-manager location="zellij:plugin-manager"
|
||||||
|
session-manager location="zellij:session-manager"
|
||||||
|
status-bar location="zellij:status-bar"
|
||||||
|
strider location="zellij:strider"
|
||||||
|
tab-bar location="zellij:tab-bar"
|
||||||
|
welcome-screen location="zellij:session-manager" {
|
||||||
|
welcome_screen true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Plugins to load in the background when a new session starts
|
||||||
|
// eg. "file:/path/to/my-plugin.wasm"
|
||||||
|
// eg. "https://example.com/my-plugin.wasm"
|
||||||
|
load_plugins {
|
||||||
|
}
|
||||||
|
web_client {
|
||||||
|
font "monospace"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use a simplified UI without special fonts (arrow glyphs)
|
||||||
|
// Options:
|
||||||
|
// - true
|
||||||
|
// - false (Default)
|
||||||
|
//
|
||||||
|
// simplified_ui true
|
||||||
|
|
||||||
|
// Choose the theme that is specified in the themes section.
|
||||||
|
// Default: default
|
||||||
|
//
|
||||||
|
// theme "dracula"
|
||||||
|
|
||||||
|
// Choose the base input mode of zellij.
|
||||||
|
// Default: normal
|
||||||
|
//
|
||||||
|
// default_mode "locked"
|
||||||
|
|
||||||
|
// Choose the path to the default shell that zellij will use for opening new panes
|
||||||
|
// Default: $SHELL
|
||||||
|
//
|
||||||
|
// default_shell "fish"
|
||||||
|
|
||||||
|
// Choose the path to override cwd that zellij will use for opening new panes
|
||||||
|
//
|
||||||
|
// default_cwd "/tmp"
|
||||||
|
|
||||||
|
// The name of the default layout to load on startup
|
||||||
|
// Default: "default"
|
||||||
|
//
|
||||||
|
// default_layout "compact"
|
||||||
|
|
||||||
|
// The folder in which Zellij will look for layouts
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// layout_dir "/tmp"
|
||||||
|
|
||||||
|
// The folder in which Zellij will look for themes
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// theme_dir "/tmp"
|
||||||
|
|
||||||
|
// Toggle enabling the mouse mode.
|
||||||
|
// On certain configurations, or terminals this could
|
||||||
|
// potentially interfere with copying text.
|
||||||
|
// Options:
|
||||||
|
// - true (default)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// mouse_mode false
|
||||||
|
|
||||||
|
// Toggle having pane frames around the panes
|
||||||
|
// Options:
|
||||||
|
// - true (default, enabled)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// pane_frames false
|
||||||
|
|
||||||
|
// When attaching to an existing session with other users,
|
||||||
|
// should the session be mirrored (true)
|
||||||
|
// or should each user have their own cursor (false)
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// mirror_session true
|
||||||
|
|
||||||
|
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||||
|
// eg. when terminal window with an active zellij session is closed
|
||||||
|
// (Requires restart)
|
||||||
|
// Options:
|
||||||
|
// - detach (Default)
|
||||||
|
// - quit
|
||||||
|
//
|
||||||
|
// on_force_close "quit"
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
// (Requires restart)
|
||||||
|
// 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
|
||||||
|
//
|
||||||
|
// copy_command "pbcopy"
|
||||||
|
|
||||||
|
// 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 automatic copying (and clearing) of selection when releasing mouse
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// copy_on_select true
|
||||||
|
|
||||||
|
// Path to the default editor to use to edit pane scrollbuffer
|
||||||
|
// Default: $EDITOR or $VISUAL
|
||||||
|
// scrollback_editor "/usr/bin/vim"
|
||||||
|
|
||||||
|
// A fixed name to always give the Zellij session.
|
||||||
|
// Consider also setting `attach_to_session true,`
|
||||||
|
// otherwise this will error if such a session exists.
|
||||||
|
// Default: <RANDOM>
|
||||||
|
//
|
||||||
|
// session_name "My singleton session"
|
||||||
|
|
||||||
|
// When `session_name` is provided, attaches to that session
|
||||||
|
// if it is already running or creates it otherwise.
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// attach_to_session true
|
||||||
|
|
||||||
|
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||||
|
// Options:
|
||||||
|
// - true (default)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// auto_layout false
|
||||||
|
|
||||||
|
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||||
|
// Options:
|
||||||
|
// - true (default)
|
||||||
|
// - false
|
||||||
|
//
|
||||||
|
// session_serialization false
|
||||||
|
|
||||||
|
// Whether pane viewports are serialized along with the session, default is false
|
||||||
|
// Options:
|
||||||
|
// - true
|
||||||
|
// - false (default)
|
||||||
|
//
|
||||||
|
// serialize_pane_viewport false
|
||||||
|
|
||||||
|
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||||
|
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||||
|
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||||
|
//
|
||||||
|
// scrollback_lines_to_serialize 10000
|
||||||
|
|
||||||
|
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||||
|
// May need to be disabled for certain unsupported terminals
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// styled_underlines false
|
||||||
|
|
||||||
|
// How often in seconds sessions are serialized
|
||||||
|
//
|
||||||
|
// serialization_interval 10000
|
||||||
|
|
||||||
|
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||||
|
// metadata info on this session)
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// disable_session_metadata false
|
||||||
|
|
||||||
|
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
|
||||||
|
// (Requires restart)
|
||||||
|
// Default: true (if the host terminal supports it)
|
||||||
|
//
|
||||||
|
// support_kitty_keyboard_protocol false
|
||||||
|
// Whether to make sure a local web server is running when a new Zellij session starts.
|
||||||
|
// This web server will allow creating new sessions and attaching to existing ones that have
|
||||||
|
// opted in to being shared in the browser.
|
||||||
|
// When enabled, navigate to http://127.0.0.1:8082
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
|
||||||
|
// If this is not desired, one can use a version of Zellij compiled without
|
||||||
|
// `web_server_capability`
|
||||||
|
//
|
||||||
|
// Possible values:
|
||||||
|
// - true
|
||||||
|
// - false
|
||||||
|
// Default: false
|
||||||
|
//
|
||||||
|
// web_server false
|
||||||
|
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
|
||||||
|
// running (see the `web_server` option for more details).
|
||||||
|
// (Requires restart)
|
||||||
|
//
|
||||||
|
// Note: This is an administrative separation and not intended as a security measure.
|
||||||
|
//
|
||||||
|
// Possible values:
|
||||||
|
// - "on" (allow web sharing through the local web server if it
|
||||||
|
// is online)
|
||||||
|
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
|
||||||
|
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
|
||||||
|
// Default: "off"
|
||||||
|
//
|
||||||
|
// web_sharing "off"
|
||||||
|
// A path to a certificate file to be used when setting up the web client to serve the
|
||||||
|
// connection over HTTPs
|
||||||
|
//
|
||||||
|
// web_server_cert "/path/to/cert.pem"
|
||||||
|
// A path to a key file to be used when setting up the web client to serve the
|
||||||
|
// connection over HTTPs
|
||||||
|
//
|
||||||
|
// web_server_key "/path/to/key.pem"
|
||||||
|
/// Whether to enforce https connections to the web server when it is bound to localhost
|
||||||
|
/// (127.0.0.0/8)
|
||||||
|
///
|
||||||
|
/// Note: https is ALWAYS enforced when bound to non-local interfaces
|
||||||
|
///
|
||||||
|
/// Default: false
|
||||||
|
//
|
||||||
|
// enforce_https_for_localhost false
|
||||||
|
|
||||||
|
// Whether to stack panes when resizing beyond a certain size
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// stacked_resize false
|
||||||
|
|
||||||
|
// Whether to show tips on startup
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
show_startup_tips false
|
||||||
|
|
||||||
|
// Whether to show release notes on first version run
|
||||||
|
// Default: true
|
||||||
|
//
|
||||||
|
// show_release_notes false
|
||||||
|
|
||||||
|
// Whether to enable mouse hover effects and pane grouping functionality
|
||||||
|
// default is true
|
||||||
|
// advanced_mouse_actions false
|
||||||
|
|
||||||
|
// The ip address the web server should listen on when it starts
|
||||||
|
// Default: "127.0.0.1"
|
||||||
|
// (Requires restart)
|
||||||
|
// web_server_ip "127.0.0.1"
|
||||||
|
|
||||||
|
// The port the web server should listen on when it starts
|
||||||
|
// Default: 8082
|
||||||
|
// (Requires restart)
|
||||||
|
// web_server_port 8082
|
||||||
|
|
||||||
|
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
|
||||||
|
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
|
||||||
|
// of this command will be used instead of the discovered RESURRECT_COMMAND
|
||||||
|
// can be useful for removing wrappers around commands
|
||||||
|
// Note: be sure to escape backslashes and similar characters properly
|
||||||
|
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
# Common config across different shells #
|
# Common config across different shells #
|
||||||
#########################################
|
#########################################
|
||||||
|
|
||||||
export EDITOR='nvim'
|
export EDITOR='hx'
|
||||||
export HTTP_HOME="duckduckgo.com"
|
export HTTP_HOME="duckduckgo.com"
|
||||||
export RANGER_LOAD_DEFAULT_RC=false
|
export RANGER_LOAD_DEFAULT_RC=false
|
||||||
export PATH=$HOME/programs_local/:$HOME/.cargo/bin:~/projects/scripts:$HOME/.local/bin:/usr/local/bin:$PATH
|
export PATH=$HOME/programs_local/:$HOME/.cargo/bin:~/projects/scripts:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||||
@@ -31,6 +31,7 @@ alias a="alpine"
|
|||||||
alias ff="~/projects/scripts/hyprfix.sh" # Fix the touchpad not working on the laptop with a simple script
|
alias ff="~/projects/scripts/hyprfix.sh" # Fix the touchpad not working on the laptop with a simple script
|
||||||
alias sp="spotify_player"
|
alias sp="spotify_player"
|
||||||
alias ne="newsboat"
|
alias ne="newsboat"
|
||||||
|
alias j="zellij -l compact options --simplified-ui true"
|
||||||
alias po="castero"
|
alias po="castero"
|
||||||
alias h="~/projects/scripts/shell/helper.sh"
|
alias h="~/projects/scripts/shell/helper.sh"
|
||||||
alias tw="torify w3m duckduckgo.com"
|
alias tw="torify w3m duckduckgo.com"
|
||||||
|
|||||||
@@ -61,8 +61,8 @@
|
|||||||
(deflayer specials
|
(deflayer specials
|
||||||
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
_ _ pgdn up pgup _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
_ _ _ _ _ _ _ ä ö ü ß _ _ _ _ _
|
_ _ left down rght _ _ ä ö ü ß _ _ _ _ _
|
||||||
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
_ _ _ _ _ _ _ _ _ _ _ _ _
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user