dotfiles/helix/config.toml

836 lines
27 KiB
TOML

#theme = "adwaita-dark"
theme = "github_dark_colorblind"
# theme = "base16_transparent"
[editor]
true-color = true
# gutters = ["diagnostics"]
# http://www.keyboard-layout-editor.com/#/gists/d1f226131381138f983d9b3beaeaa90b
[editor.soft-wrap]
enable = true
# auto-save = true
# max-wrap = 25 # increase value to reduce forced mid-word wrapping
# max-indent-retain = 0
[keys.normal]
# these are additions I like
"C-l" = "page_up" # ctrl+move_visual_line_up is page up
"C-k" = "page_down" # ctrl+move_visual_line_down is page down
"N" = "page_up" # shift+move_visual_line_up is page up
"T" = "page_down" # shift+move_visual_line_down is page down
"F8" = ":open ~/.config/bin/run-from-helix"
"F9" = [":wa", ":sh ~/.config/bin/run-zellij-from-helix"]
"F10" = [":wa", "workspace_diagnostics_picker"]
# these are non-standard changes, original dvorak commented with #x
# hjkl > jkl;
"h" = "move_char_left" # "h" | "left"
"t" = "move_visual_line_down" # "j" | "down"
"n" = "move_visual_line_up" # "k" | "up"
"s" = "move_char_right" # "l" | "right"
# ; > '
"minus" = "collapse_selection" # ";"
# begin normal dvorak changes
#x "d" = "move_char_left" # "h" | "left"
"left" = "move_char_left" # "h" | "left"
#x "h" = "move_visual_line_down" # "j" | "down"
"down" = "move_visual_line_down" # "j" | "down"
#x "t" = "move_visual_line_up" # "k" | "up"
"up" = "move_visual_line_up" # "k" | "up"
#x "n" = "move_char_right" # "l" | "right"
"right" = "move_char_right" # "l" | "right"
"y" = "find_till_char" # "t"
"u" = "find_next_char" # "f"
"Y" = "till_prev_char" # "T"
"U" = "find_prev_char" # "F"
"p" = "replace" # "r"
"P" = "replace_with_yanked" # "R"
"A-." = "repeat_last_motion" # "A-."
"~" = "switch_case" # "~"
"`" = "switch_to_lowercase" # "`"
"A-`" = "switch_to_uppercase" # "A-`"
"home" = "goto_line_start" # "home"
"end" = "goto_line_end" # "end"
"," = "move_next_word_start" # "w"
"x" = "move_prev_word_start" # "b"
"." = "move_next_word_end" # "e"
"<" = "move_next_long_word_start" # "W"
"X" = "move_prev_long_word_start" # "B"
">" = "move_next_long_word_end" # "E"
"k" = "select_mode" # "v"
"I" = "goto_line" # "G"
"S" = "command_mode" # ":"
"c" = "insert_mode" # "i"
"C" = "insert_at_line_start" # "I"
"a" = "append_mode" # "a"
"A" = "insert_at_line_end" # "A"
"r" = "open_below" # "o"
"R" = "open_above" # "O"
"e" = "delete_selection" # "d"
"A-d" = "delete_selection_noyank" # "A-d"
"j" = "change_selection" # "c"
"A-c" = "change_selection_noyank" # "A-c"
"J" = "copy_selection_on_next_line" # "C"
"A-C" = "copy_selection_on_prev_line" # "A-C"
"o" = "select_regex" # "s"
"A-s" = "split_selection_on_newline" # "A-s"
"A-minus" = "merge_selections" # "A-minus"
"A-_" = "merge_consecutive_selections" # "A-_"
"O" = "split_selection" # "S"
#x "s" = "collapse_selection" # ";"
"A-;" = "flip_selections" # "A-;"
"A-o" = "expand_selection" # "A-o" | "A-up"
"A-up" = "expand_selection" # "A-o" | "A-up"
"A-i" = "shrink_selection" # "A-i" | "A-down"
"A-down" = "shrink_selection" # "A-i" | "A-down"
"A-p" = "select_prev_sibling" # "A-p" | "A-left"
"A-left" = "select_prev_sibling" # "A-p" | "A-left"
"A-n" = "select_next_sibling" # "A-n" | "A-right"
"A-right" = "select_next_sibling" # "A-n" | "A-right"
"A-e" = "move_parent_node_end" # "A-e"
"A-b" = "move_parent_node_start" # "A-b"
"%" = "select_all" # "%"
"q" = "extend_line_below" # "x"
"Q" = "extend_to_line_bounds" # "X"
"A-x" = "shrink_to_line_bounds" # "A-x"
"z" = "search" # "/"
"Z" = "rsearch" # "?"
"b" = "search_next" # "n"
"B" = "search_prev" # "N"
"*" = "search_selection" # "*"
"g" = "undo" # "u"
"G" = "redo" # "U"
"A-u" = "earlier" # "A-u"
"A-U" = "later" # "A-U"
"f" = "yank" # "y"
"l" = "paste_after" # "p"
"L" = "paste_before" # "P"
"\"" = "record_macro" # "Q"
"'" = "replay_macro" # "q"
"V" = "indent" # ">"
"W" = "unindent" # "<"
"]" = "format_selections" # "="
"H" = "join_selections" # "J"
"A-J" = "join_selections_space" # "A-J"
# disable for now because made page down "T" = "keep_selections" # "K"
"A-K" = "remove_selections" # "A-K"
"w" = "keep_primary_selection" # ","
"A-," = "remove_primary_selection" # "A-,"
# "q" = "record_macro" # "q"
#"Q" = "replay_macro" # "Q"
"&" = "align_selections" # "&"
"{" = "trim_selections" # "_"
"(" = "rotate_selections_backward" # "("
")" = "rotate_selections_forward" # ")"
"A-(" = "rotate_selection_contents_backward" # "A-("
"A-)" = "rotate_selection_contents_forward" # "A-)"
"A-:" = "ensure_selections_forward" # "A-:"
"esc" = [":wa", "normal_mode"] # "esc"
"C-b" = "page_up" # "C-b" | "pageup"
"pageup" = "page_up" # "C-b" | "pageup"
"C-f" = "page_down" # "C-f" | "pagedown"
"pagedown" = "page_down" # "C-f" | "pagedown"
"C-u" = "half_page_up" # "C-u"
"C-d" = "half_page_down" # "C-d"
"C-c" = "toggle_comments" # "C-c"
"C-i" = "jump_forward" # "C-i" | "tab" // tab == <C-i>
"tab" = "jump_forward" # "C-i" | "tab" // tab == <C-i>
"C-o" = "jump_backward" # "C-o"
"C-s" = "save_selection" # "C-s"
"_" = "select_register" # "\""
"|" = "shell_pipe" # "|"
"A-|" = "shell_pipe_to" # "A-|"
"!" = "shell_insert_output" # "!"
"A-!" = "shell_append_output" # "A-!"
"}" = "shell_keep_pipe" # "$"
"C-z" = "suspend" # "C-z"
"C-a" = "increment" # "C-a"
"C-x" = "decrement" # "C-x"
[keys.normal.i] # [keys.normal.g]
"i" = "goto_file_start" # "g"
"." = "goto_last_line" # "e"
"u" = "goto_file" # "f"
"d" = "goto_line_start" # "h"
"n" = "goto_line_end" # "l"
"o" = "goto_first_nonwhitespace" # "s"
"e" = "goto_definition" # "d"
"E" = "goto_declaration" # "D"
"f" = "goto_type_definition" # "y"
"p" = "goto_reference" # "r"
"c" = "goto_implementation" # "i"
"y" = "goto_window_top" # "t"
"j" = "goto_window_center" # "c"
"x" = "goto_window_bottom" # "b"
"a" = "goto_last_accessed_file" # "a"
"m" = "goto_last_modified_file" # "m"
"b" = "goto_next_buffer" # "n"
"l" = "goto_previous_buffer" # "p"
"t" = "move_line_up" # "k"
"h" = "move_line_down" # "j"
"v" = "goto_last_modification" # "."
[keys.normal.m] # [keys.normal.m]
"m" = "match_brackets" # "m"
"o" = "surround_add" # "s"
"p" = "surround_replace" # "r"
"e" = "surround_delete" # "d"
"a" = "select_textobject_around" # "a"
"c" = "select_textobject_inner" # "i"
[keys.normal."/"] # [keys.normal."["]
"e" = "goto_prev_diag" # "d"
"E" = "goto_first_diag" # "D"
"i" = "goto_prev_change" # "g"
"I" = "goto_first_change" # "G"
"u" = "goto_prev_function" # "f"
"y" = "goto_prev_class" # "t"
"a" = "goto_prev_parameter" # "a"
"j" = "goto_prev_comment" # "c"
"Y" = "goto_prev_test" # "T"
"l" = "goto_prev_paragraph" # "p"
"space" = "add_newline_above" # "space"
[keys.normal."="] # [keys.normal."]"]
"e" = "goto_next_diag" # "d"
"E" = "goto_last_diag" # "D"
"i" = "goto_next_change" # "g"
"I" = "goto_last_change" # "G"
"u" = "goto_next_function" # "f"
"y" = "goto_next_class" # "t"
"a" = "goto_next_parameter" # "a"
"j" = "goto_next_comment" # "c"
"Y" = "goto_next_test" # "T"
"l" = "goto_next_paragraph" # "p"
"space" = "add_newline_below" # "space"
[keys.normal.C-w] # [keys.normal.C-w]
"C-w" = "rotate_view" # "C-w" | "w"
"w" = "rotate_view" # "C-w" | "w"
"C-s" = "hsplit" # "C-s" | "s"
"s" = "hsplit" # "C-s" | "s"
"C-v" = "vsplit" # "C-v" | "v"
"v" = "vsplit" # "C-v" | "v"
"C-t" = "transpose_view" # "C-t" | "t"
"t" = "transpose_view" # "C-t" | "t"
"u" = "goto_file_hsplit" # "f"
"U" = "goto_file_vsplit" # "F"
"C-q" = "wclose" # "C-q" | "q"
"q" = "wclose" # "C-q" | "q"
"C-o" = "wonly" # "C-o" | "o"
"o" = "wonly" # "C-o" | "o"
"C-h" = "jump_view_left" # "C-h" | "h" | "left"
"h" = "jump_view_left" # "C-h" | "h" | "left"
"left" = "jump_view_left" # "C-h" | "h" | "left"
"C-j" = "jump_view_down" # "C-j" | "j" | "down"
"j" = "jump_view_down" # "C-j" | "j" | "down"
"down" = "jump_view_down" # "C-j" | "j" | "down"
"C-k" = "jump_view_up" # "C-k" | "k" | "up"
"k" = "jump_view_up" # "C-k" | "k" | "up"
"up" = "jump_view_up" # "C-k" | "k" | "up"
"C-l" = "jump_view_right" # "C-l" | "l" | "right"
"l" = "jump_view_right" # "C-l" | "l" | "right"
"right" = "jump_view_right" # "C-l" | "l" | "right"
"N" = "swap_view_right" # "L"
"T" = "swap_view_up" # "K"
"D" = "swap_view_left" # "H"
"H" = "swap_view_down" # "J"
[keys.normal.C-w.b] # [keys.normal.C-w.n]
"C-s" = "hsplit_new" # "C-s" | "s"
"s" = "hsplit_new" # "C-s" | "s"
"C-v" = "vsplit_new" # "C-v" | "v"
"v" = "vsplit_new" # "C-v" | "v"
[keys.normal.space]
"u" = "file_picker" # "f"
"U" = "file_picker_in_current_directory" # "F"
"x" = "buffer_picker" # "b"
"h" = "jumplist_picker" # "j"
"o" = "symbol_picker" # "s"
"O" = "workspace_symbol_picker" # "S"
"e" = "diagnostics_picker" # "d"
"E" = "workspace_diagnostics_picker" # "D"
"a" = "code_action" # "a"
"minus" = "last_picker" # "'"
"f" = "yank_joined_to_clipboard" # "y"
"F" = "yank_main_selection_to_clipboard" # "Y"
"l" = "paste_clipboard_after" # "p"
"L" = "paste_clipboard_before" # "P"
"P" = "replace_selections_with_clipboard" # "R"
"z" = "global_search" # "/"
"t" = "hover" # "k"
"p" = "rename_symbol" # "r"
"d" = "select_references_to_symbol_under_cursor" # "h"
"Z" = "command_palette" # "?"
[keys.normal.space.i] # [keys.normal.space.g]
"n" = "dap_launch" # "l"
"p" = "dap_restart" # "r"
"x" = "dap_toggle_breakpoint" # "b"
"j" = "dap_continue" # "c"
"d" = "dap_pause" # "h"
"c" = "dap_step_in" # "i"
"r" = "dap_step_out" # "o"
"b" = "dap_next" # "n"
"k" = "dap_variables" # "v"
"y" = "dap_terminate" # "t"
"C-c" = "dap_edit_condition" # "C-c"
"C-l" = "dap_edit_log" # "C-l"
"." = "dap_enable_exceptions" # "e"
">" = "dap_disable_exceptions" # "E"
[keys.normal.space.i.o] # [keys.normal.space.g.s]
"y" = "dap_switch_thread" # "t"
"u" = "dap_switch_stack_frame" # "f"
[keys.normal.space.","] # [keys.normal.space.w]
"C-w" = "rotate_view" # "C-w" | "w"
"w" = "rotate_view" # "C-w" | "w"
"C-s" = "hsplit" # "C-s" | "s"
"s" = "hsplit" # "C-s" | "s"
"C-v" = "vsplit" # "C-v" | "v"
"v" = "vsplit" # "C-v" | "v"
"C-t" = "transpose_view" # "C-t" | "t"
"t" = "transpose_view" # "C-t" | "t"
"u" = "goto_file_hsplit" # "f"
"U" = "goto_file_vsplit" # "F"
"C-q" = "wclose" # "C-q" | "q"
"q" = "wclose" # "C-q" | "q"
"C-o" = "wonly" # "C-o" | "o"
"o" = "wonly" # "C-o" | "o"
"C-h" = "jump_view_left" # "C-h" | "h" | "left"
"h" = "jump_view_left" # "C-h" | "h" | "left"
"left" = "jump_view_left" # "C-h" | "h" | "left"
"C-j" = "jump_view_down" # "C-j" | "j" | "down"
"j" = "jump_view_down" # "C-j" | "j" | "down"
"down" = "jump_view_down" # "C-j" | "j" | "down"
"C-k" = "jump_view_up" # "C-k" | "k" | "up"
"k" = "jump_view_up" # "C-k" | "k" | "up"
"up" = "jump_view_up" # "C-k" | "k" | "up"
"C-l" = "jump_view_right" # "C-l" | "l" | "right"
"l" = "jump_view_right" # "C-l" | "l" | "right"
"right" = "jump_view_right" # "C-l" | "l" | "right"
"D" = "swap_view_left" # "H"
"H" = "swap_view_down" # "J"
"T" = "swap_view_up" # "K"
"N" = "swap_view_right" # "L"
[keys.normal.space.",".b] # [keys.normal.space.w.n]
"C-s" = "hsplit_new" # "C-s" | "s"
"s" = "hsplit_new" # "C-s" | "s"
"C-v" = "vsplit_new" # "C-v" | "v"
"v" = "vsplit_new" # "C-v" | "v"
[keys.normal.";"] # [keys.normal.z]
";" = "align_view_center" # "z" | "c"
"c" = "align_view_center" # "z" | "c"
"y" = "align_view_top" # "t"
"x" = "align_view_bottom" # "b"
"m" = "align_view_middle" # "m"
"t" = "scroll_up" # "k" | "up"
"up" = "scroll_up" # "k" | "up"
"h" = "scroll_down" # "j" | "down"
"down" = "scroll_down" # "j" | "down"
"C-b" = "page_up" # "C-b" | "pageup"
"pageup" = "page_up" # "C-b" | "pageup"
"C-f" = "page_down" # "C-f" | "pagedown"
"pagedown" = "page_down" # "C-f" | "pagedown"
"C-u" = "half_page_up" # "C-u" | "backspace"
"backspace" = "half_page_up" # "C-u" | "backspace"
"C-d" = "half_page_down" # "C-d" | "space"
"space" = "half_page_down" # "C-d" | "space"
"z" = "search" # "/"
"Z" = "rsearch" # "?"
"b" = "search_next" # "n"
"B" = "search_prev" # "N"
[keys.normal.":"] # [keys.normal.Z]
";" = "align_view_center" # "z" | "c"
"c" = "align_view_center" # "z" | "c"
"y" = "align_view_top" # "t"
"x" = "align_view_bottom" # "b"
"m" = "align_view_middle" # "m"
"t" = "scroll_up" # "k" | "up"
"up" = "scroll_up" # "k" | "up"
"h" = "scroll_down" # "j" | "down"
"down" = "scroll_down" # "j" | "down"
"C-b" = "page_up" # "C-b" | "pageup"
"pageup" = "page_up" # "C-b" | "pageup"
"C-f" = "page_down" # "C-f" | "pagedown"
"pagedown" = "page_down" # "C-f" | "pagedown"
"C-u" = "half_page_up" # "C-u" | "backspace"
"backspace" = "half_page_up" # "C-u" | "backspace"
"C-d" = "half_page_down" # "C-d" | "space"
"space" = "half_page_down" # "C-d" | "space"
"z" = "search" # "/"
"Z" = "rsearch" # "?"
"b" = "search_next" # "n"
"B" = "search_prev" # "N"
[keys.select]
# my additions
#"C-i" = [":wa", "normal_mode"] # this doesn't work???
"A-i" = [":wa", "normal_mode"]
"F8" = ":open ~/.config/bin/run-from-helix"
"F9" = ["normal_mode", ":wa", ":sh ~/.config/bin/run-zellij-from-helix"]
"F10" = ["normal_mode", ":wa", "workspace_diagnostics_picker"]
# these are non-standard changes, original dvorak commented with #x
# hjkl > jkl;
"h" = "extend_char_left" # "h" | "left"
"t" = "extend_visual_line_down" # "j" | "down"
"n" = "extend_visual_line_up" # "k" | "up"
"s" = "extend_char_right" # "l" | "right"
# normal dvorak
#x "d" = "extend_char_left" # "h" | "left"
"left" = "extend_char_left" # "h" | "left"
#x "h" = "extend_visual_line_down" # "j" | "down"
"down" = "extend_visual_line_down" # "j" | "down"
#x "t" = "extend_visual_line_up" # "k" | "up"
"up" = "extend_visual_line_up" # "k" | "up"
#x "n" = "extend_char_right" # "l" | "right"
"right" = "extend_char_right" # "l" | "right"
"," = "extend_next_word_start" # "w"
"x" = "extend_prev_word_start" # "b"
"." = "extend_next_word_end" # "e"
"<" = "extend_next_long_word_start" # "W"
"X" = "extend_prev_long_word_start" # "B"
">" = "extend_next_long_word_end" # "E"
"A-e" = "extend_parent_node_end" # "A-e"
"A-b" = "extend_parent_node_start" # "A-b"
"b" = "extend_search_next" # "n"
"B" = "extend_search_prev" # "N"
"y" = "extend_till_char" # "t"
"u" = "extend_next_char" # "f"
"Y" = "extend_till_prev_char" # "T"
"U" = "extend_prev_char" # "F"
"home" = "extend_to_line_start" # "home"
"end" = "extend_to_line_end" # "end"
"esc" = "exit_select_mode" # "esc"
"k" = [":wa", "normal_mode"] # "v"
# in the default keymap, select extends normal, but we have to copy/paste it here, which is annoying
# keys defined above should take precedence over keys from normal below, will comment those with #s
# start select paste from normal
# these are additions I like
"C-l" = "page_up" # ctrl+move_visual_line_up is page up
"C-k" = "page_down" # ctrl+move_visual_line_down is page down
"N" = "page_up" # shift+move_visual_line_up is page up
"T" = "page_down" # shift+move_visual_line_down is page down
# these are non-standard changes, original dvorak commented with #x
# ; > '
"minus" = "collapse_selection" # ";"
# begin normal dvorak changes
#s "d" = "move_char_left" # "h" | "left"
#s "left" = "move_char_left" # "h" | "left"
#s "h" = "move_visual_line_down" # "j" | "down"
#s "down" = "move_visual_line_down" # "j" | "down"
#s "t" = "move_visual_line_up" # "k" | "up"
#s "up" = "move_visual_line_up" # "k" | "up"
#s "n" = "move_char_right" # "l" | "right"
#s "right" = "move_char_right" # "l" | "right"
#s "y" = "find_till_char" # "t"
#s "u" = "find_next_char" # "f"
#s "Y" = "till_prev_char" # "T"
#s "U" = "find_prev_char" # "F"
"p" = "replace" # "r"
"P" = "replace_with_yanked" # "R"
"A-." = "repeat_last_motion" # "A-."
"~" = "switch_case" # "~"
"$" = "switch_to_lowercase" # "`"
"A-$" = "switch_to_uppercase" # "A-`"
#s "home" = "goto_line_start" # "home"
#s "end" = "goto_line_end" # "end"
#s "," = "move_next_word_start" # "w"
#s "x" = "move_prev_word_start" # "b"
#s "." = "move_next_word_end" # "e"
#s "<" = "move_next_long_word_start" # "W"
#s "X" = "move_prev_long_word_start" # "B"
#s ">" = "move_next_long_word_end" # "E"
#s "k" = "select_mode" # "v"
"I" = "goto_line" # "G"
"S" = "command_mode" # ":"
"c" = "insert_mode" # "i"
"C" = "insert_at_line_start" # "I"
"a" = "append_mode" # "a"
"A" = "insert_at_line_end" # "A"
"r" = "open_below" # "o"
"R" = "open_above" # "O"
"e" = "delete_selection" # "d"
"A-d" = "delete_selection_noyank" # "A-d"
"j" = "change_selection" # "c"
"A-c" = "change_selection_noyank" # "A-c"
"J" = "copy_selection_on_next_line" # "C"
"A-C" = "copy_selection_on_prev_line" # "A-C"
"o" = "select_regex" # "s"
"A-s" = "split_selection_on_newline" # "A-s"
"A-minus" = "merge_selections" # "A-minus"
"A-_" = "merge_consecutive_selections" # "A-_"
"O" = "split_selection" # "S"
#x "s" = "collapse_selection" # ";"
"A-;" = "flip_selections" # "A-;"
"A-o" = "expand_selection" # "A-o" | "A-up"
"A-up" = "expand_selection" # "A-o" | "A-up"
#s "A-i" = "shrink_selection" # "A-i" | "A-down"
"A-down" = "shrink_selection" # "A-i" | "A-down"
"A-p" = "select_prev_sibling" # "A-p" | "A-left"
"A-left" = "select_prev_sibling" # "A-p" | "A-left"
"A-n" = "select_next_sibling" # "A-n" | "A-right"
"A-right" = "select_next_sibling" # "A-n" | "A-right"
#s "A-e" = "move_parent_node_end" # "A-e"
#s "A-b" = "move_parent_node_start" # "A-b"
"%" = "select_all" # "%"
"q" = "extend_line_below" # "x"
"Q" = "extend_to_line_bounds" # "X"
"A-x" = "shrink_to_line_bounds" # "A-x"
"z" = "search" # "/"
"Z" = "rsearch" # "?"
#s "b" = "search_next" # "n"
#s "B" = "search_prev" # "N"
"*" = "search_selection" # "*"
"g" = "undo" # "u"
"G" = "redo" # "U"
"A-u" = "earlier" # "A-u"
"A-U" = "later" # "A-U"
"f" = "yank" # "y"
"l" = "paste_after" # "p"
"L" = "paste_before" # "P"
"\"" = "record_macro" # "Q"
"'" = "replay_macro" # "q"
"V" = "indent" # ">"
"W" = "unindent" # "<"
"]" = "format_selections" # "="
"H" = "join_selections" # "J"
"A-J" = "join_selections_space" # "A-J"
# disable for now because made page down "T" = "keep_selections" # "K"
"A-K" = "remove_selections" # "A-K"
"w" = "keep_primary_selection" # ","
"A-," = "remove_primary_selection" # "A-,"
# "q" = "record_macro" # "q"
#"Q" = "replay_macro" # "Q"
"&" = "align_selections" # "&"
"{" = "trim_selections" # "_"
"(" = "rotate_selections_backward" # "("
")" = "rotate_selections_forward" # ")"
"A-(" = "rotate_selection_contents_backward" # "A-("
"A-)" = "rotate_selection_contents_forward" # "A-)"
"A-:" = "ensure_selections_forward" # "A-:"
#s "esc" = "normal_mode" # "esc"
"C-b" = "page_up" # "C-b" | "pageup"
"pageup" = "page_up" # "C-b" | "pageup"
"C-f" = "page_down" # "C-f" | "pagedown"
"pagedown" = "page_down" # "C-f" | "pagedown"
"C-u" = "half_page_up" # "C-u"
"C-d" = "half_page_down" # "C-d"
"C-c" = "toggle_comments" # "C-c"
"C-i" = "jump_forward" # "C-i" | "tab" // tab == <C-i>
"tab" = "jump_forward" # "C-i" | "tab" // tab == <C-i>
"C-o" = "jump_backward" # "C-o"
"C-s" = "save_selection" # "C-s"
"_" = "select_register" # "\""
"|" = "shell_pipe" # "|"
"A-|" = "shell_pipe_to" # "A-|"
"!" = "shell_insert_output" # "!"
"A-!" = "shell_append_output" # "A-!"
"}" = "shell_keep_pipe" # "$"
"C-z" = "suspend" # "C-z"
"C-a" = "increment" # "C-a"
"C-x" = "decrement" # "C-x"
# end select paste from normal
[keys.select.i] # [keys.select.g]
"t" = "extend_line_up" # "k"
"h" = "extend_line_down" # "j"
# in the default keymap, select extends normal, but we have to copy/paste it here, which is annoying
# only keys.select.i t/h are defined above, will comment these with #s
# start select paste from normal
"i" = "goto_file_start" # "g"
"." = "goto_last_line" # "e"
"u" = "goto_file" # "f"
"d" = "goto_line_start" # "h"
"n" = "goto_line_end" # "l"
"o" = "goto_first_nonwhitespace" # "s"
"e" = "goto_definition" # "d"
"E" = "goto_declaration" # "D"
"f" = "goto_type_definition" # "y"
"p" = "goto_reference" # "r"
"c" = "goto_implementation" # "i"
"y" = "goto_window_top" # "t"
"j" = "goto_window_center" # "c"
"x" = "goto_window_bottom" # "b"
"a" = "goto_last_accessed_file" # "a"
"m" = "goto_last_modified_file" # "m"
"b" = "goto_next_buffer" # "n"
"l" = "goto_previous_buffer" # "p"
#s "t" = "move_line_up" # "k"
#s "h" = "move_line_down" # "j"
"v" = "goto_last_modification" # "."
[keys.select.m] # [keys.select.m]
"m" = "match_brackets" # "m"
"o" = "surround_add" # "s"
"p" = "surround_replace" # "r"
"e" = "surround_delete" # "d"
"a" = "select_textobject_around" # "a"
"c" = "select_textobject_inner" # "i"
[keys.select."/"] # [keys.select."["]
"e" = "goto_prev_diag" # "d"
"E" = "goto_first_diag" # "D"
"i" = "goto_prev_change" # "g"
"I" = "goto_first_change" # "G"
"u" = "goto_prev_function" # "f"
"y" = "goto_prev_class" # "t"
"a" = "goto_prev_parameter" # "a"
"j" = "goto_prev_comment" # "c"
"Y" = "goto_prev_test" # "T"
"l" = "goto_prev_paragraph" # "p"
"space" = "add_newline_above" # "space"
[keys.select."="] # [keys.select."]"]
"e" = "goto_next_diag" # "d"
"E" = "goto_last_diag" # "D"
"i" = "goto_next_change" # "g"
"I" = "goto_last_change" # "G"
"u" = "goto_next_function" # "f"
"y" = "goto_next_class" # "t"
"a" = "goto_next_parameter" # "a"
"j" = "goto_next_comment" # "c"
"Y" = "goto_next_test" # "T"
"l" = "goto_next_paragraph" # "p"
"space" = "add_newline_below" # "space"
[keys.select.C-w] # [keys.select.C-w]
"C-w" = "rotate_view" # "C-w" | "w"
"w" = "rotate_view" # "C-w" | "w"
"C-s" = "hsplit" # "C-s" | "s"
"s" = "hsplit" # "C-s" | "s"
"C-v" = "vsplit" # "C-v" | "v"
"v" = "vsplit" # "C-v" | "v"
"C-t" = "transpose_view" # "C-t" | "t"
"t" = "transpose_view" # "C-t" | "t"
"u" = "goto_file_hsplit" # "f"
"U" = "goto_file_vsplit" # "F"
"C-q" = "wclose" # "C-q" | "q"
"q" = "wclose" # "C-q" | "q"
"C-o" = "wonly" # "C-o" | "o"
"o" = "wonly" # "C-o" | "o"
"C-h" = "jump_view_left" # "C-h" | "h" | "left"
"h" = "jump_view_left" # "C-h" | "h" | "left"
"left" = "jump_view_left" # "C-h" | "h" | "left"
"C-j" = "jump_view_down" # "C-j" | "j" | "down"
"j" = "jump_view_down" # "C-j" | "j" | "down"
"down" = "jump_view_down" # "C-j" | "j" | "down"
"C-k" = "jump_view_up" # "C-k" | "k" | "up"
"k" = "jump_view_up" # "C-k" | "k" | "up"
"up" = "jump_view_up" # "C-k" | "k" | "up"
"C-l" = "jump_view_right" # "C-l" | "l" | "right"
"l" = "jump_view_right" # "C-l" | "l" | "right"
"right" = "jump_view_right" # "C-l" | "l" | "right"
"N" = "swap_view_right" # "L"
"T" = "swap_view_up" # "K"
"D" = "swap_view_left" # "H"
"H" = "swap_view_down" # "J"
[keys.select.C-w.b] # [keys.select.C-w.n]
"C-s" = "hsplit_new" # "C-s" | "s"
"s" = "hsplit_new" # "C-s" | "s"
"C-v" = "vsplit_new" # "C-v" | "v"
"v" = "vsplit_new" # "C-v" | "v"
[keys.select.space]
"u" = "file_picker" # "f"
"U" = "file_picker_in_current_directory" # "F"
"x" = "buffer_picker" # "b"
"h" = "jumplist_picker" # "j"
"o" = "symbol_picker" # "s"
"O" = "workspace_symbol_picker" # "S"
"e" = "diagnostics_picker" # "d"
"E" = "workspace_diagnostics_picker" # "D"
"a" = "code_action" # "a"
"minus" = "last_picker" # "'"
"f" = "yank_joined_to_clipboard" # "y"
"F" = "yank_main_selection_to_clipboard" # "Y"
"l" = "paste_clipboard_after" # "p"
"L" = "paste_clipboard_before" # "P"
"P" = "replace_selections_with_clipboard" # "R"
"z" = "global_search" # "/"
"t" = "hover" # "k"
"p" = "rename_symbol" # "r"
"d" = "select_references_to_symbol_under_cursor" # "h"
"Z" = "command_palette" # "?"
[keys.select.space.i] # [keys.select.space.g]
"n" = "dap_launch" # "l"
"p" = "dap_restart" # "r"
"x" = "dap_toggle_breakpoint" # "b"
"j" = "dap_continue" # "c"
"d" = "dap_pause" # "h"
"c" = "dap_step_in" # "i"
"r" = "dap_step_out" # "o"
"b" = "dap_next" # "n"
"k" = "dap_variables" # "v"
"y" = "dap_terminate" # "t"
"C-c" = "dap_edit_condition" # "C-c"
"C-l" = "dap_edit_log" # "C-l"
"." = "dap_enable_exceptions" # "e"
">" = "dap_disable_exceptions" # "E"
[keys.select.space.i.o] # [keys.select.space.g.s]
"y" = "dap_switch_thread" # "t"
"u" = "dap_switch_stack_frame" # "f"
[keys.select.space.","] # [keys.select.space.w]
"C-w" = "rotate_view" # "C-w" | "w"
"w" = "rotate_view" # "C-w" | "w"
"C-s" = "hsplit" # "C-s" | "s"
"s" = "hsplit" # "C-s" | "s"
"C-v" = "vsplit" # "C-v" | "v"
"v" = "vsplit" # "C-v" | "v"
"C-t" = "transpose_view" # "C-t" | "t"
"t" = "transpose_view" # "C-t" | "t"
"u" = "goto_file_hsplit" # "f"
"U" = "goto_file_vsplit" # "F"
"C-q" = "wclose" # "C-q" | "q"
"q" = "wclose" # "C-q" | "q"
"C-o" = "wonly" # "C-o" | "o"
"o" = "wonly" # "C-o" | "o"
"C-h" = "jump_view_left" # "C-h" | "h" | "left"
"h" = "jump_view_left" # "C-h" | "h" | "left"
"left" = "jump_view_left" # "C-h" | "h" | "left"
"C-j" = "jump_view_down" # "C-j" | "j" | "down"
"j" = "jump_view_down" # "C-j" | "j" | "down"
"down" = "jump_view_down" # "C-j" | "j" | "down"
"C-k" = "jump_view_up" # "C-k" | "k" | "up"
"k" = "jump_view_up" # "C-k" | "k" | "up"
"up" = "jump_view_up" # "C-k" | "k" | "up"
"C-l" = "jump_view_right" # "C-l" | "l" | "right"
"l" = "jump_view_right" # "C-l" | "l" | "right"
"right" = "jump_view_right" # "C-l" | "l" | "right"
"D" = "swap_view_left" # "H"
"H" = "swap_view_down" # "J"
"T" = "swap_view_up" # "K"
"N" = "swap_view_right" # "L"
[keys.select.space.",".b] # [keys.select.space.w.n]
"C-s" = "hsplit_new" # "C-s" | "s"
"s" = "hsplit_new" # "C-s" | "s"
"C-v" = "vsplit_new" # "C-v" | "v"
"v" = "vsplit_new" # "C-v" | "v"
[keys.select.";"] # [keys.select.z]
";" = "align_view_center" # "z" | "c"
"c" = "align_view_center" # "z" | "c"
"y" = "align_view_top" # "t"
"x" = "align_view_bottom" # "b"
"m" = "align_view_middle" # "m"
"t" = "scroll_up" # "k" | "up"
"up" = "scroll_up" # "k" | "up"
"h" = "scroll_down" # "j" | "down"
"down" = "scroll_down" # "j" | "down"
"C-b" = "page_up" # "C-b" | "pageup"
"pageup" = "page_up" # "C-b" | "pageup"
"C-f" = "page_down" # "C-f" | "pagedown"
"pagedown" = "page_down" # "C-f" | "pagedown"
"C-u" = "half_page_up" # "C-u" | "backspace"
"backspace" = "half_page_up" # "C-u" | "backspace"
"C-d" = "half_page_down" # "C-d" | "space"
"space" = "half_page_down" # "C-d" | "space"
"z" = "search" # "/"
"Z" = "rsearch" # "?"
"b" = "search_next" # "n"
"B" = "search_prev" # "N"
[keys.select.":"] # [keys.select.Z]
";" = "align_view_center" # "z" | "c"
"c" = "align_view_center" # "z" | "c"
"y" = "align_view_top" # "t"
"x" = "align_view_bottom" # "b"
"m" = "align_view_middle" # "m"
"t" = "scroll_up" # "k" | "up"
"up" = "scroll_up" # "k" | "up"
"h" = "scroll_down" # "j" | "down"
"down" = "scroll_down" # "j" | "down"
"C-b" = "page_up" # "C-b" | "pageup"
"pageup" = "page_up" # "C-b" | "pageup"
"C-f" = "page_down" # "C-f" | "pagedown"
"pagedown" = "page_down" # "C-f" | "pagedown"
"C-u" = "half_page_up" # "C-u" | "backspace"
"backspace" = "half_page_up" # "C-u" | "backspace"
"C-d" = "half_page_down" # "C-d" | "space"
"space" = "half_page_down" # "C-d" | "space"
"z" = "search" # "/"
"Z" = "rsearch" # "?"
"b" = "search_next" # "n"
"B" = "search_prev" # "N"
# end select paste from normal
[keys.insert]
# my additions
"C-i" = [":wa", "normal_mode"] # this doesn't work???
"A-i" = [":wa", "normal_mode"]
"F8" = ":open ~/.config/bin/run-from-helix"
"F9" = ["normal_mode", ":wa", ":sh ~/.config/bin/run-zellij-from-helix"]
"F10" = ["normal_mode", ":wa", "workspace_diagnostics_picker"]
# normal dvorak
"esc" = [":wa", "normal_mode"] # "esc"
"C-s" = "commit_undo_checkpoint" # "C-s"
"C-x" = "completion" # "C-x"
"C-r" = "insert_register" # "C-r"
"C-w" = "delete_word_backward" # "C-w" | "A-backspace"
"A-backspace" = "delete_word_backward" # "C-w" | "A-backspace"
"A-d" = "delete_word_forward" # "A-d" | "A-del"
"A-del" = "delete_word_forward" # "A-d" | "A-del"
"C-u" = "kill_to_line_start" # "C-u"
"C-k" = "kill_to_line_end" # "C-k"
"C-h" = "delete_char_backward" # "C-h" | "backspace" | "S-backspace"
"backspace" = "delete_char_backward" # "C-h" | "backspace" | "S-backspace"
"S-backspace" = "delete_char_backward" # "C-h" | "backspace" | "S-backspace"
"C-d" = "delete_char_forward" # "C-d" | "del"
"del" = "delete_char_forward" # "C-d" | "del"
"C-j" = "insert_newline" # "C-j" | "ret"
"ret" = "insert_newline" # "C-j" | "ret"
"tab" = "smart_tab" # "tab"
"S-tab" = "insert_tab" # "S-tab"
"up" = "move_visual_line_up" # "up"
"down" = "move_visual_line_down" # "down"
"left" = "move_char_left" # "left"
"right" = "move_char_right" # "right"
"pageup" = "page_up" # "pageup"
"pagedown" = "page_down" # "pagedown"
"home" = "goto_line_start" # "home"
"end" = "goto_line_end_newline" # "end"