[editor]
"scrolloff" = 3
"mouse" = true
"middle-click-paste" = true
"scroll-lines" = 3
"shell" = ["sh", "-c"]
"line-number" = "absolute"
"smart-case" = true
"auto-pairs" = true
"auto-completion" = true
"idle-timeout" = 400
"completion-trigger-len" = 2
"auto-info" = true
[editor.filepicker]
"hidden" = true
"parents" = true
"ignore" = true
"git-ignore" = true
"git-global" = true
"git-exclude" = true
[keys.normal]
# Movement
"left" = "move_char_left"
"down" = "move_line_down"
"up" = "move_line_up"
"right" = "move_char_right"
"h" = "move_char_left"
"j" = "move_line_down"
"k" = "move_line_up"
"l" = "move_char_right"
"w" = "move_next_word_start"
"b" = "move_prev_word_start"
"e" = "move_next_word_end"
"W" = "move_next_long_word_start"
"B" = "move_prev_long_word_start"
"E" = "move_next_long_word_end"
"t" = "find_till_char"
"f" = "find_next_char"
"T" = "till_prev_char"
"F" = "find_prev_char"
"A-." = "repeat_last_motion"
"home" = "goto_line_start"
"end" = "goto_line_end"
"pageup" = "page_up"
"pagedown" = "page_down"
"C-u" = "half_page_up"
"C-d" = "half_page_down"
"C-i" = "jump_forward"
"C-o" = "jump_backward"
"v" = "select_mode"
":" = "command_mode"
# Changes
"r" = "replace"
"R" = "replace_with_yanked"
"~" = "switch_case"
"`" = "switch_to_lowercase"
"A-`" = "switch_to_uppercase"
"i" = "insert_mode"
"a" = "append_mode"
"I" = "prepend_to_line"
"A" = "append_to_line"
"o" = "open_below"
"O" = "open_above"
"u" = "undo"
"U" = "redo"
"A-u" = "earlier"
"A-U" = "later"
"y" = "yank"
"p" = "paste_after"
"P" = "paste_before"
"\"" = "select_register"
"gt" = "indent"
"lt" = "unindent"
"=" = "format_selections"
"d" = "delete_selection"
"A-d" = "delete_selection_noyank"
"c" = "change_selection"
"A-c" = "change_selection_noyank"
"C-a" = "increment"
"C-x" = "decrement"
# Shell
"|" = "shell_pipe"
"A-|" = "shell_pipe_to"
"!" = "shell_insert_output"
"A-!" = "shell_append_output"
# Selection manipulation
"s" = "select_regex"
"S" = "split_selection"
"A-s" = "split_selection_on_newline"
"&" = "align_selections"
"_" = "trim_selections"
"semicolon" = "collapse_selection"
"A-semicolon" = "flip_selections"
"," = "keep_primary_selection"
"A-," = "remove_primary_selection"
"C" = "copy_selection_on_next_line"
"A-C" = "copy_selection_on_prev_line"
"(" = "rotate_selections_backward"
")" = "rotate_selections_forward"
"A-(" = "rotate_selection_contents_backward"
"A-)" = "rotate_selection_contents_forward"
"percent" = "select_all"
"x" = "extend_line"
"X" = "extend_to_line_bounds"
"J" = "join_selections"
"K" = "keep_selections"
"A-K" = "remove_selections"
"$" = "shell_keep_pipe"
"C-c" = "toggle_comments"
# Search
"/" = "search"
"?" = "rsearch"
"n" = "search_next"
"N" = "search_prev"
"*" = "search_selection"
# View mode
"z" = { "z" = "align_view_center", "c" = "align_view_center", "t" = "align_view_top", "b" = "align_view_bottom", "m" = "align_view_middle", "down" = "scroll_down", "j" = "scroll_down", "up" = "scroll_up", "k" = "scroll_up", "f" = "page_down", "b" = "page_up", "d" = "half_page_down", "u" = "half_page_up" }
# Goto mode
"g" = { "g" = "goto_file_start", "e" = "goto_last_line", "h" = "goto_line_start", "l" = "goto_line_end", "s" = "goto_first_nonwhitespace", "t" = "goto_window_top", "m" = "goto_window_middle", "b" = "goto_window_bottom", "d" = "goto_definition", "y" = "goto_type_definition", "r" = "goto_reference", "i" = "goto_implementation", "a" = "goto_last_accessed_file", "f" = "goto_file", "n" = "goto_next_buffer", "p" = "goto_previous_buffer", "." = "goto_last_modification" }
# Match mode
"m" = { "m" = "match_brackets", "s" = "surround_add", "r" = "surround_replace", "d" = "surround_delete", "a" = "select_textobject_around", "i" = "select_textobject_inner" }
# Window mode
"C-w" = { "w" = "rotate_view", "C-w" = "rotate_view", "v" = "vsplit", "C-v" = "vsplit", "s" = "hsplit", "C-s" = "hsplit", "left" = "jump_view_left", "h" = "jump_view_left", "C-h" = "jump_view_left", "down" = "jump_view_down", "j" = "jump_view_down", "C-j" = "jump_view_down", "up" = "jump_view_up", "k" = "jump_view_up", "C-k" = "jump_view_up", "right" = "jump_view_right", "l" = "jump_view_right", "C-l" = "jump_view_right", "f" = "goto_file", "F" = "goto_file",, "q" = "wclose", "C-q" = "wclose", "o" = "wonly", "C-o" = "wonly" }
# Space mode
"space" = { "f" = "file_picker", "b" = "buffer_picker", "k" = "hover", "s" = "symbol_picker", "a" = "code_action", "'" = "last_picker", "p" = "paste_clipboard_after", "P" = "paste_clipboard_before", "y" = "yank_joined_to_clipboard", "Y" = "yank_main_selection_to_clipboard", "R" = "replace_selections_with_clipboard", "/" = "global_search", "S" = "workspace_symbol_picker", "r" = "rename_symbol"}
# Unimpaired
"[" = { "d" = "goto_prev_diag", "D" = "goto_first_diag", "space" = "add_newline_above" }
"]" = { "d" = "goto_next_diag", "D" = "goto_last_diag", "space" = "add_newline_below" }
Many newcomer feel lost when trying to find a "setting panel" on a minimal software then realize that they have to open and manually edit a config file. Although me and other minimalist user prefer this config method, other may wish to have all setting option layout in front of them so they could just change the options values. That why many recent
clirust tool auto generate (or have an option flag) a config file template will all option inside it. This will be very useful not just to newcomer but also to a pro who is interest and want to start try out quickly. Here is my attempt:=== Read full config ===