Fixed keybind duplicates

pull/11699/head
Adam Perkowski 2 months ago
parent 5f9de4511e
commit 2ccc8b8678
No known key found for this signature in database
GPG Key ID: 7CBDB58ECF1D3478

@ -5,16 +5,16 @@
| `move_char_right` | Move right | normal: `` <right> ``, `` l ``, insert: `` <right> `` | | `move_char_right` | Move right | normal: `` <right> ``, `` l ``, insert: `` <right> `` |
| `move_line_up` | Move up | normal: `` gk `` | | `move_line_up` | Move up | normal: `` gk `` |
| `move_line_down` | Move down | normal: `` gj `` | | `move_line_down` | Move down | normal: `` gj `` |
| `move_visual_line_up` | Move up | normal: `` <up> ``, `` k ``, insert: `` <up> `` | | `move_visual_line_up` | Move up | normal: `` k ``, `` <up> ``, insert: `` <up> `` |
| `move_visual_line_down` | Move down | normal: `` <down> ``, `` j ``, insert: `` <down> `` | | `move_visual_line_down` | Move down | normal: `` <down> ``, `` j ``, insert: `` <down> `` |
| `extend_char_left` | Extend left | select: `` h ``, `` <left> `` | | `extend_char_left` | Extend left | select: `` h ``, `` <left> `` |
| `extend_char_right` | Extend right | select: `` <right> ``, `` l `` | | `extend_char_right` | Extend right | select: `` <right> ``, `` l `` |
| `extend_line_up` | Extend up | select: `` gk `` | | `extend_line_up` | Extend up | select: `` gk `` |
| `extend_line_down` | Extend down | select: `` gj `` | | `extend_line_down` | Extend down | select: `` gj `` |
| `extend_visual_line_up` | Extend up | select: `` <up> ``, `` k `` | | `extend_visual_line_up` | Extend up | select: `` k ``, `` <up> `` |
| `extend_visual_line_down` | Extend down | select: `` <down> ``, `` j `` | | `extend_visual_line_down` | Extend down | select: `` <down> ``, `` j `` |
| `copy_selection_on_next_line` | Copy selection on next line | normal: `` C ``, normal: `` C `` | | `copy_selection_on_next_line` | Copy selection on next line | normal: `` C ``, select: `` C `` |
| `copy_selection_on_prev_line` | Copy selection on previous line | normal: `` <A-C> ``, normal: `` <A-C> `` | | `copy_selection_on_prev_line` | Copy selection on previous line | normal: `` <A-C> ``, select: `` <A-C> `` |
| `move_next_word_start` | Move to start of next word | normal: `` w `` | | `move_next_word_start` | Move to start of next word | normal: `` w `` |
| `move_prev_word_start` | Move to start of previous word | normal: `` b `` | | `move_prev_word_start` | Move to start of previous word | normal: `` b `` |
| `move_next_word_end` | Move to end of next word | normal: `` e `` | | `move_next_word_end` | Move to end of next word | normal: `` e `` |
@ -51,106 +51,106 @@
| `find_prev_char` | Move to previous occurrence of char | normal: `` F `` | | `find_prev_char` | Move to previous occurrence of char | normal: `` F `` |
| `extend_till_prev_char` | Extend till previous occurrence of char | select: `` T `` | | `extend_till_prev_char` | Extend till previous occurrence of char | select: `` T `` |
| `extend_prev_char` | Extend to previous occurrence of char | select: `` F `` | | `extend_prev_char` | Extend to previous occurrence of char | select: `` F `` |
| `repeat_last_motion` | Repeat last motion | normal: `` <A-.> ``, normal: `` <A-.> `` | | `repeat_last_motion` | Repeat last motion | normal: `` <A-.> ``, select: `` <A-.> `` |
| `replace` | Replace with new char | normal: `` r ``, normal: `` r `` | | `replace` | Replace with new char | normal: `` r ``, select: `` r `` |
| `switch_case` | Switch (toggle) case | normal: `` ~ ``, normal: `` ~ `` | | `switch_case` | Switch (toggle) case | normal: `` ~ ``, select: `` ~ `` |
| `switch_to_uppercase` | Switch to uppercase | normal: `` <A-`> ``, normal: `` <A-`> `` | | `switch_to_uppercase` | Switch to uppercase | normal: `` <A-`> ``, select: `` <A-`> `` |
| `switch_to_lowercase` | Switch to lowercase | normal: `` ` ``, normal: `` ` `` | | `switch_to_lowercase` | Switch to lowercase | normal: `` ` ``, select: `` ` `` |
| `page_up` | Move page up | normal: `` z<C-b> ``, `` z<pageup> ``, `` <C-b> ``, `` <pageup> ``, `` Z<pageup> ``, `` Z<C-b> ``, normal: `` z<C-b> ``, `` z<pageup> ``, `` <C-b> ``, `` <pageup> ``, `` Z<pageup> ``, `` Z<C-b> ``, insert: `` <pageup> `` | | `page_up` | Move page up | normal: `` z<pageup> ``, `` z<C-b> ``, `` <pageup> ``, `` <C-b> ``, `` Z<pageup> ``, `` Z<C-b> ``, select: `` z<pageup> ``, `` z<C-b> ``, `` <pageup> ``, `` <C-b> ``, `` Z<pageup> ``, `` Z<C-b> ``, insert: `` <pageup> `` |
| `page_down` | Move page down | normal: `` z<C-f> ``, `` z<pagedown> ``, `` <pagedown> ``, `` Z<C-f> ``, `` Z<pagedown> ``, `` <C-f> ``, normal: `` z<C-f> ``, `` z<pagedown> ``, `` <pagedown> ``, `` Z<C-f> ``, `` Z<pagedown> ``, `` <C-f> ``, insert: `` <pagedown> `` | | `page_down` | Move page down | normal: `` z<pagedown> ``, `` z<C-f> ``, `` <pagedown> ``, `` <C-f> ``, `` Z<pagedown> ``, `` Z<C-f> ``, select: `` z<pagedown> ``, `` z<C-f> ``, `` <pagedown> ``, `` <C-f> ``, `` Z<pagedown> ``, `` Z<C-f> ``, insert: `` <pagedown> `` |
| `half_page_up` | Move half page up | | | `half_page_up` | Move half page up | |
| `half_page_down` | Move half page down | | | `half_page_down` | Move half page down | |
| `page_cursor_up` | Move page and cursor up | | | `page_cursor_up` | Move page and cursor up | |
| `page_cursor_down` | Move page and cursor down | | | `page_cursor_down` | Move page and cursor down | |
| `page_cursor_half_up` | Move page and cursor half up | normal: `` z<C-u> ``, `` z<backspace> ``, `` <C-u> ``, `` Z<C-u> ``, `` Z<backspace> ``, normal: `` z<C-u> ``, `` z<backspace> ``, `` <C-u> ``, `` Z<C-u> ``, `` Z<backspace> `` | | `page_cursor_half_up` | Move page and cursor half up | normal: `` z<backspace> ``, `` z<C-u> ``, `` <C-u> ``, `` Z<C-u> ``, `` Z<backspace> ``, select: `` z<backspace> ``, `` z<C-u> ``, `` <C-u> ``, `` Z<C-u> ``, `` Z<backspace> `` |
| `page_cursor_half_down` | Move page and cursor half down | normal: `` z<space> ``, `` z<C-d> ``, `` <C-d> ``, `` Z<C-d> ``, `` Z<space> ``, normal: `` z<space> ``, `` z<C-d> ``, `` <C-d> ``, `` Z<C-d> ``, `` Z<space> `` | | `page_cursor_half_down` | Move page and cursor half down | normal: `` z<C-d> ``, `` z<space> ``, `` <C-d> ``, `` Z<C-d> ``, `` Z<space> ``, select: `` z<C-d> ``, `` z<space> ``, `` <C-d> ``, `` Z<C-d> ``, `` Z<space> `` |
| `select_all` | Select whole document | normal: `` % ``, normal: `` % `` | | `select_all` | Select whole document | normal: `` % ``, select: `` % `` |
| `select_regex` | Select all regex matches inside selections | normal: `` s ``, normal: `` s `` | | `select_regex` | Select all regex matches inside selections | normal: `` s ``, select: `` s `` |
| `split_selection` | Split selections on regex matches | normal: `` S ``, normal: `` S `` | | `split_selection` | Split selections on regex matches | normal: `` S ``, select: `` S `` |
| `split_selection_on_newline` | Split selection on newlines | normal: `` <A-s> ``, normal: `` <A-s> `` | | `split_selection_on_newline` | Split selection on newlines | normal: `` <A-s> ``, select: `` <A-s> `` |
| `merge_selections` | Merge selections | normal: `` <A-minus> ``, normal: `` <A-minus> `` | | `merge_selections` | Merge selections | normal: `` <A-minus> ``, select: `` <A-minus> `` |
| `merge_consecutive_selections` | Merge consecutive selections | normal: `` <A-_> ``, normal: `` <A-_> `` | | `merge_consecutive_selections` | Merge consecutive selections | normal: `` <A-_> ``, select: `` <A-_> `` |
| `search` | Search for regex pattern | normal: `` / ``, `` z/ ``, `` Z/ ``, normal: `` / ``, `` z/ ``, `` Z/ `` | | `search` | Search for regex pattern | normal: `` z/ ``, `` / ``, `` Z/ ``, select: `` z/ ``, `` / ``, `` Z/ `` |
| `rsearch` | Reverse search for regex pattern | normal: `` z? ``, `` ? ``, `` Z? ``, normal: `` z? ``, `` ? ``, `` Z? `` | | `rsearch` | Reverse search for regex pattern | normal: `` z? ``, `` ? ``, `` Z? ``, select: `` z? ``, `` ? ``, `` Z? `` |
| `search_next` | Select next search match | normal: `` n ``, `` zn ``, `` Zn ``, select: `` zn ``, `` Zn `` | | `search_next` | Select next search match | normal: `` zn ``, `` n ``, `` Zn ``, select: `` zn ``, `` Zn `` |
| `search_prev` | Select previous search match | normal: `` zN ``, `` N ``, `` ZN ``, select: `` zN ``, `` ZN `` | | `search_prev` | Select previous search match | normal: `` zN ``, `` N ``, `` ZN ``, select: `` zN ``, `` ZN `` |
| `extend_search_next` | Add next search match to selection | select: `` n `` | | `extend_search_next` | Add next search match to selection | select: `` n `` |
| `extend_search_prev` | Add previous search match to selection | select: `` N `` | | `extend_search_prev` | Add previous search match to selection | select: `` N `` |
| `search_selection` | Use current selection as search pattern | normal: `` * ``, normal: `` * `` | | `search_selection` | Use current selection as search pattern | normal: `` * ``, select: `` * `` |
| `make_search_word_bounded` | Modify current search to make it word bounded | | | `make_search_word_bounded` | Modify current search to make it word bounded | |
| `global_search` | Global search in workspace folder | normal: `` <space>/ ``, normal: `` <space>/ `` | | `global_search` | Global search in workspace folder | normal: `` <space>/ ``, select: `` <space>/ `` |
| `extend_line` | Select current line, if already selected, extend to another line based on the anchor | | | `extend_line` | Select current line, if already selected, extend to another line based on the anchor | |
| `extend_line_below` | Select current line, if already selected, extend to next line | normal: `` x ``, normal: `` x `` | | `extend_line_below` | Select current line, if already selected, extend to next line | normal: `` x ``, select: `` x `` |
| `extend_line_above` | Select current line, if already selected, extend to previous line | | | `extend_line_above` | Select current line, if already selected, extend to previous line | |
| `select_line_above` | Select current line, if already selected, extend or shrink line above based on the anchor | | | `select_line_above` | Select current line, if already selected, extend or shrink line above based on the anchor | |
| `select_line_below` | Select current line, if already selected, extend or shrink line below based on the anchor | | | `select_line_below` | Select current line, if already selected, extend or shrink line below based on the anchor | |
| `extend_to_line_bounds` | Extend selection to line bounds | normal: `` X ``, normal: `` X `` | | `extend_to_line_bounds` | Extend selection to line bounds | normal: `` X ``, select: `` X `` |
| `shrink_to_line_bounds` | Shrink selection to line bounds | normal: `` <A-x> ``, normal: `` <A-x> `` | | `shrink_to_line_bounds` | Shrink selection to line bounds | normal: `` <A-x> ``, select: `` <A-x> `` |
| `delete_selection` | Delete selection | normal: `` d ``, normal: `` d `` | | `delete_selection` | Delete selection | normal: `` d ``, select: `` d `` |
| `delete_selection_noyank` | Delete selection without yanking | normal: `` <A-d> ``, normal: `` <A-d> `` | | `delete_selection_noyank` | Delete selection without yanking | normal: `` <A-d> ``, select: `` <A-d> `` |
| `change_selection` | Change selection | normal: `` c ``, normal: `` c `` | | `change_selection` | Change selection | normal: `` c ``, select: `` c `` |
| `change_selection_noyank` | Change selection without yanking | normal: `` <A-c> ``, normal: `` <A-c> `` | | `change_selection_noyank` | Change selection without yanking | normal: `` <A-c> ``, select: `` <A-c> `` |
| `collapse_selection` | Collapse selection into single cursor | normal: `` ; ``, normal: `` ; `` | | `collapse_selection` | Collapse selection into single cursor | normal: `` ; ``, select: `` ; `` |
| `flip_selections` | Flip selection cursor and anchor | normal: `` <A-;> ``, normal: `` <A-;> `` | | `flip_selections` | Flip selection cursor and anchor | normal: `` <A-;> ``, select: `` <A-;> `` |
| `ensure_selections_forward` | Ensure all selections face forward | normal: `` <A-:> ``, normal: `` <A-:> `` | | `ensure_selections_forward` | Ensure all selections face forward | normal: `` <A-:> ``, select: `` <A-:> `` |
| `insert_mode` | Insert before selection | normal: `` i ``, normal: `` i `` | | `insert_mode` | Insert before selection | normal: `` i ``, select: `` i `` |
| `append_mode` | Append after selection | normal: `` a ``, normal: `` a `` | | `append_mode` | Append after selection | normal: `` a ``, select: `` a `` |
| `command_mode` | Enter command mode | normal: `` : ``, normal: `` : `` | | `command_mode` | Enter command mode | normal: `` : ``, select: `` : `` |
| `file_picker` | Open file picker | normal: `` <space>f ``, normal: `` <space>f `` | | `file_picker` | Open file picker | normal: `` <space>f ``, select: `` <space>f `` |
| `file_picker_in_current_buffer_directory` | Open file picker at current buffer's directory | | | `file_picker_in_current_buffer_directory` | Open file picker at current buffer's directory | |
| `file_picker_in_current_directory` | Open file picker at current working directory | normal: `` <space>F ``, normal: `` <space>F `` | | `file_picker_in_current_directory` | Open file picker at current working directory | normal: `` <space>F ``, select: `` <space>F `` |
| `code_action` | Perform code action | normal: `` <space>a ``, normal: `` <space>a `` | | `code_action` | Perform code action | normal: `` <space>a ``, select: `` <space>a `` |
| `buffer_picker` | Open buffer picker | normal: `` <space>b ``, normal: `` <space>b `` | | `buffer_picker` | Open buffer picker | normal: `` <space>b ``, select: `` <space>b `` |
| `jumplist_picker` | Open jumplist picker | normal: `` <space>j ``, normal: `` <space>j `` | | `jumplist_picker` | Open jumplist picker | normal: `` <space>j ``, select: `` <space>j `` |
| `symbol_picker` | Open symbol picker | normal: `` <space>s ``, normal: `` <space>s `` | | `symbol_picker` | Open symbol picker | normal: `` <space>s ``, select: `` <space>s `` |
| `changed_file_picker` | Open changed file picker | normal: `` <space>g ``, normal: `` <space>g `` | | `changed_file_picker` | Open changed file picker | normal: `` <space>g ``, select: `` <space>g `` |
| `select_references_to_symbol_under_cursor` | Select symbol references | normal: `` <space>h ``, normal: `` <space>h `` | | `select_references_to_symbol_under_cursor` | Select symbol references | normal: `` <space>h ``, select: `` <space>h `` |
| `workspace_symbol_picker` | Open workspace symbol picker | normal: `` <space>S ``, normal: `` <space>S `` | | `workspace_symbol_picker` | Open workspace symbol picker | normal: `` <space>S ``, select: `` <space>S `` |
| `diagnostics_picker` | Open diagnostic picker | normal: `` <space>d ``, normal: `` <space>d `` | | `diagnostics_picker` | Open diagnostic picker | normal: `` <space>d ``, select: `` <space>d `` |
| `workspace_diagnostics_picker` | Open workspace diagnostic picker | normal: `` <space>D ``, normal: `` <space>D `` | | `workspace_diagnostics_picker` | Open workspace diagnostic picker | normal: `` <space>D ``, select: `` <space>D `` |
| `last_picker` | Open last picker | normal: `` <space>' ``, normal: `` <space>' `` | | `last_picker` | Open last picker | normal: `` <space>' ``, select: `` <space>' `` |
| `insert_at_line_start` | Insert at start of line | normal: `` I ``, normal: `` I `` | | `insert_at_line_start` | Insert at start of line | normal: `` I ``, select: `` I `` |
| `insert_at_line_end` | Insert at end of line | normal: `` A ``, normal: `` A `` | | `insert_at_line_end` | Insert at end of line | normal: `` A ``, select: `` A `` |
| `open_below` | Open new line below selection | normal: `` o ``, normal: `` o `` | | `open_below` | Open new line below selection | normal: `` o ``, select: `` o `` |
| `open_above` | Open new line above selection | normal: `` O ``, normal: `` O `` | | `open_above` | Open new line above selection | normal: `` O ``, select: `` O `` |
| `normal_mode` | Enter normal mode | normal: `` <esc> ``, select: `` v ``, normal: `` <esc> `` | | `normal_mode` | Enter normal mode | normal: `` <esc> ``, select: `` v ``, insert: `` <esc> `` |
| `select_mode` | Enter selection extend mode | normal: `` v `` | | `select_mode` | Enter selection extend mode | normal: `` v `` |
| `exit_select_mode` | Exit selection mode | select: `` <esc> `` | | `exit_select_mode` | Exit selection mode | select: `` <esc> `` |
| `goto_definition` | Goto definition | normal: `` gd ``, normal: `` gd `` | | `goto_definition` | Goto definition | normal: `` gd ``, select: `` gd `` |
| `goto_declaration` | Goto declaration | normal: `` gD ``, normal: `` gD `` | | `goto_declaration` | Goto declaration | normal: `` gD ``, select: `` gD `` |
| `add_newline_above` | Add newline above | normal: `` [<space> ``, normal: `` [<space> `` | | `add_newline_above` | Add newline above | normal: `` [<space> ``, select: `` [<space> `` |
| `add_newline_below` | Add newline below | normal: `` ]<space> ``, normal: `` ]<space> `` | | `add_newline_below` | Add newline below | normal: `` ]<space> ``, select: `` ]<space> `` |
| `goto_type_definition` | Goto type definition | normal: `` gy ``, normal: `` gy `` | | `goto_type_definition` | Goto type definition | normal: `` gy ``, select: `` gy `` |
| `goto_implementation` | Goto implementation | normal: `` gi ``, normal: `` gi `` | | `goto_implementation` | Goto implementation | normal: `` gi ``, select: `` gi `` |
| `goto_file_start` | Goto line number <n> else file start | normal: `` gg ``, normal: `` gg `` | | `goto_file_start` | Goto line number <n> else file start | normal: `` gg ``, select: `` gg `` |
| `goto_file_end` | Goto file end | | | `goto_file_end` | Goto file end | |
| `goto_file` | Goto files/URLs in selections | normal: `` gf ``, normal: `` gf `` | | `goto_file` | Goto files/URLs in selections | normal: `` gf ``, select: `` gf `` |
| `goto_file_hsplit` | Goto files in selections (hsplit) | normal: `` <space>wf ``, `` <C-w>f ``, normal: `` <space>wf ``, `` <C-w>f `` | | `goto_file_hsplit` | Goto files in selections (hsplit) | normal: `` <C-w>f ``, `` <space>wf ``, select: `` <C-w>f ``, `` <space>wf `` |
| `goto_file_vsplit` | Goto files in selections (vsplit) | normal: `` <space>wF ``, `` <C-w>F ``, normal: `` <space>wF ``, `` <C-w>F `` | | `goto_file_vsplit` | Goto files in selections (vsplit) | normal: `` <C-w>F ``, `` <space>wF ``, select: `` <C-w>F ``, `` <space>wF `` |
| `goto_reference` | Goto references | normal: `` gr ``, normal: `` gr `` | | `goto_reference` | Goto references | normal: `` gr ``, select: `` gr `` |
| `goto_window_top` | Goto window top | normal: `` gt ``, normal: `` gt `` | | `goto_window_top` | Goto window top | normal: `` gt ``, select: `` gt `` |
| `goto_window_center` | Goto window center | normal: `` gc ``, normal: `` gc `` | | `goto_window_center` | Goto window center | normal: `` gc ``, select: `` gc `` |
| `goto_window_bottom` | Goto window bottom | normal: `` gb ``, normal: `` gb `` | | `goto_window_bottom` | Goto window bottom | normal: `` gb ``, select: `` gb `` |
| `goto_last_accessed_file` | Goto last accessed file | normal: `` ga ``, normal: `` ga `` | | `goto_last_accessed_file` | Goto last accessed file | normal: `` ga ``, select: `` ga `` |
| `goto_last_modified_file` | Goto last modified file | normal: `` gm ``, normal: `` gm `` | | `goto_last_modified_file` | Goto last modified file | normal: `` gm ``, select: `` gm `` |
| `goto_last_modification` | Goto last modification | normal: `` g. ``, normal: `` g. `` | | `goto_last_modification` | Goto last modification | normal: `` g. ``, select: `` g. `` |
| `goto_line` | Goto line | normal: `` G ``, normal: `` G `` | | `goto_line` | Goto line | normal: `` G ``, select: `` G `` |
| `goto_last_line` | Goto last line | normal: `` ge ``, normal: `` ge `` | | `goto_last_line` | Goto last line | normal: `` ge ``, select: `` ge `` |
| `goto_first_diag` | Goto first diagnostic | normal: `` [D ``, normal: `` [D `` | | `goto_first_diag` | Goto first diagnostic | normal: `` [D ``, select: `` [D `` |
| `goto_last_diag` | Goto last diagnostic | normal: `` ]D ``, normal: `` ]D `` | | `goto_last_diag` | Goto last diagnostic | normal: `` ]D ``, select: `` ]D `` |
| `goto_next_diag` | Goto next diagnostic | normal: `` ]d ``, normal: `` ]d `` | | `goto_next_diag` | Goto next diagnostic | normal: `` ]d ``, select: `` ]d `` |
| `goto_prev_diag` | Goto previous diagnostic | normal: `` [d ``, normal: `` [d `` | | `goto_prev_diag` | Goto previous diagnostic | normal: `` [d ``, select: `` [d `` |
| `goto_next_change` | Goto next change | normal: `` ]g ``, normal: `` ]g `` | | `goto_next_change` | Goto next change | normal: `` ]g ``, select: `` ]g `` |
| `goto_prev_change` | Goto previous change | normal: `` [g ``, normal: `` [g `` | | `goto_prev_change` | Goto previous change | normal: `` [g ``, select: `` [g `` |
| `goto_first_change` | Goto first change | normal: `` [G ``, normal: `` [G `` | | `goto_first_change` | Goto first change | normal: `` [G ``, select: `` [G `` |
| `goto_last_change` | Goto last change | normal: `` ]G ``, normal: `` ]G `` | | `goto_last_change` | Goto last change | normal: `` ]G ``, select: `` ]G `` |
| `goto_line_start` | Goto line start | normal: `` <home> ``, `` gh ``, select: `` gh ``, insert: `` <home> `` | | `goto_line_start` | Goto line start | normal: `` <home> ``, `` gh ``, select: `` gh ``, insert: `` <home> `` |
| `goto_line_end` | Goto line end | normal: `` <end> ``, `` gl ``, select: `` gl `` | | `goto_line_end` | Goto line end | normal: `` <end> ``, `` gl ``, select: `` gl `` |
| `goto_next_buffer` | Goto next buffer | normal: `` gn ``, normal: `` gn `` | | `goto_next_buffer` | Goto next buffer | normal: `` gn ``, select: `` gn `` |
| `goto_previous_buffer` | Goto previous buffer | normal: `` gp ``, normal: `` gp `` | | `goto_previous_buffer` | Goto previous buffer | normal: `` gp ``, select: `` gp `` |
| `goto_line_end_newline` | Goto newline at line end | insert: `` <end> `` | | `goto_line_end_newline` | Goto newline at line end | insert: `` <end> `` |
| `goto_first_nonwhitespace` | Goto first non-blank in line | normal: `` gs ``, normal: `` gs `` | | `goto_first_nonwhitespace` | Goto first non-blank in line | normal: `` gs ``, select: `` gs `` |
| `trim_selections` | Trim whitespace from selections | normal: `` _ ``, normal: `` _ `` | | `trim_selections` | Trim whitespace from selections | normal: `` _ ``, select: `` _ `` |
| `extend_to_line_start` | Extend to line start | select: `` <home> `` | | `extend_to_line_start` | Extend to line start | select: `` <home> `` |
| `extend_to_first_nonwhitespace` | Extend to first non-blank in line | | | `extend_to_first_nonwhitespace` | Extend to first non-blank in line | |
| `extend_to_line_end` | Extend to line end | select: `` <end> `` | | `extend_to_line_end` | Extend to line end | select: `` <end> `` |
@ -159,135 +159,135 @@
| `smart_tab` | Insert tab if all cursors have all whitespace to their left; otherwise, run a separate command. | insert: `` <tab> `` | | `smart_tab` | Insert tab if all cursors have all whitespace to their left; otherwise, run a separate command. | insert: `` <tab> `` |
| `insert_tab` | Insert tab char | insert: `` <S-tab> `` | | `insert_tab` | Insert tab char | insert: `` <S-tab> `` |
| `insert_newline` | Insert newline char | insert: `` <ret> ``, `` <C-j> `` | | `insert_newline` | Insert newline char | insert: `` <ret> ``, `` <C-j> `` |
| `delete_char_backward` | Delete previous char | insert: `` <backspace> ``, `` <C-h> ``, `` <S-backspace> `` | | `delete_char_backward` | Delete previous char | insert: `` <S-backspace> ``, `` <C-h> ``, `` <backspace> `` |
| `delete_char_forward` | Delete next char | insert: `` <C-d> ``, `` <del> `` | | `delete_char_forward` | Delete next char | insert: `` <del> ``, `` <C-d> `` |
| `delete_word_backward` | Delete previous word | insert: `` <C-w> ``, `` <A-backspace> `` | | `delete_word_backward` | Delete previous word | insert: `` <C-w> ``, `` <A-backspace> `` |
| `delete_word_forward` | Delete next word | insert: `` <A-d> ``, `` <A-del> `` | | `delete_word_forward` | Delete next word | insert: `` <A-del> ``, `` <A-d> `` |
| `kill_to_line_start` | Delete till start of line | insert: `` <C-u> `` | | `kill_to_line_start` | Delete till start of line | insert: `` <C-u> `` |
| `kill_to_line_end` | Delete till end of line | insert: `` <C-k> `` | | `kill_to_line_end` | Delete till end of line | insert: `` <C-k> `` |
| `undo` | Undo change | normal: `` u ``, normal: `` u `` | | `undo` | Undo change | normal: `` u ``, select: `` u `` |
| `redo` | Redo change | normal: `` U ``, normal: `` U `` | | `redo` | Redo change | normal: `` U ``, select: `` U `` |
| `earlier` | Move backward in history | normal: `` <A-u> ``, normal: `` <A-u> `` | | `earlier` | Move backward in history | normal: `` <A-u> ``, select: `` <A-u> `` |
| `later` | Move forward in history | normal: `` <A-U> ``, normal: `` <A-U> `` | | `later` | Move forward in history | normal: `` <A-U> ``, select: `` <A-U> `` |
| `commit_undo_checkpoint` | Commit changes to new checkpoint | insert: `` <C-s> `` | | `commit_undo_checkpoint` | Commit changes to new checkpoint | insert: `` <C-s> `` |
| `yank` | Yank selection | normal: `` y ``, normal: `` y `` | | `yank` | Yank selection | normal: `` y ``, select: `` y `` |
| `yank_to_clipboard` | Yank selections to clipboard | normal: `` <space>y ``, normal: `` <space>y `` | | `yank_to_clipboard` | Yank selections to clipboard | normal: `` <space>y ``, select: `` <space>y `` |
| `yank_to_primary_clipboard` | Yank selections to primary clipboard | | | `yank_to_primary_clipboard` | Yank selections to primary clipboard | |
| `yank_joined` | Join and yank selections | | | `yank_joined` | Join and yank selections | |
| `yank_joined_to_clipboard` | Join and yank selections to clipboard | | | `yank_joined_to_clipboard` | Join and yank selections to clipboard | |
| `yank_main_selection_to_clipboard` | Yank main selection to clipboard | normal: `` <space>Y ``, normal: `` <space>Y `` | | `yank_main_selection_to_clipboard` | Yank main selection to clipboard | normal: `` <space>Y ``, select: `` <space>Y `` |
| `yank_joined_to_primary_clipboard` | Join and yank selections to primary clipboard | | | `yank_joined_to_primary_clipboard` | Join and yank selections to primary clipboard | |
| `yank_main_selection_to_primary_clipboard` | Yank main selection to primary clipboard | | | `yank_main_selection_to_primary_clipboard` | Yank main selection to primary clipboard | |
| `replace_with_yanked` | Replace with yanked text | normal: `` R ``, normal: `` R `` | | `replace_with_yanked` | Replace with yanked text | normal: `` R ``, select: `` R `` |
| `replace_selections_with_clipboard` | Replace selections by clipboard content | normal: `` <space>R ``, normal: `` <space>R `` | | `replace_selections_with_clipboard` | Replace selections by clipboard content | normal: `` <space>R ``, select: `` <space>R `` |
| `replace_selections_with_primary_clipboard` | Replace selections by primary clipboard | | | `replace_selections_with_primary_clipboard` | Replace selections by primary clipboard | |
| `paste_after` | Paste after selection | normal: `` p ``, normal: `` p `` | | `paste_after` | Paste after selection | normal: `` p ``, select: `` p `` |
| `paste_before` | Paste before selection | normal: `` P ``, normal: `` P `` | | `paste_before` | Paste before selection | normal: `` P ``, select: `` P `` |
| `paste_clipboard_after` | Paste clipboard after selections | normal: `` <space>p ``, normal: `` <space>p `` | | `paste_clipboard_after` | Paste clipboard after selections | normal: `` <space>p ``, select: `` <space>p `` |
| `paste_clipboard_before` | Paste clipboard before selections | normal: `` <space>P ``, normal: `` <space>P `` | | `paste_clipboard_before` | Paste clipboard before selections | normal: `` <space>P ``, select: `` <space>P `` |
| `paste_primary_clipboard_after` | Paste primary clipboard after selections | | | `paste_primary_clipboard_after` | Paste primary clipboard after selections | |
| `paste_primary_clipboard_before` | Paste primary clipboard before selections | | | `paste_primary_clipboard_before` | Paste primary clipboard before selections | |
| `indent` | Indent selection | normal: `` <gt> ``, normal: `` <gt> `` | | `indent` | Indent selection | normal: `` <gt> ``, select: `` <gt> `` |
| `unindent` | Unindent selection | normal: `` <lt> ``, normal: `` <lt> `` | | `unindent` | Unindent selection | normal: `` <lt> ``, select: `` <lt> `` |
| `format_selections` | Format selection | normal: `` = ``, normal: `` = `` | | `format_selections` | Format selection | normal: `` = ``, select: `` = `` |
| `join_selections` | Join lines inside selection | normal: `` J ``, normal: `` J `` | | `join_selections` | Join lines inside selection | normal: `` J ``, select: `` J `` |
| `join_selections_space` | Join lines inside selection and select spaces | normal: `` <A-J> ``, normal: `` <A-J> `` | | `join_selections_space` | Join lines inside selection and select spaces | normal: `` <A-J> ``, select: `` <A-J> `` |
| `keep_selections` | Keep selections matching regex | normal: `` K ``, normal: `` K `` | | `keep_selections` | Keep selections matching regex | normal: `` K ``, select: `` K `` |
| `remove_selections` | Remove selections matching regex | normal: `` <A-K> ``, normal: `` <A-K> `` | | `remove_selections` | Remove selections matching regex | normal: `` <A-K> ``, select: `` <A-K> `` |
| `align_selections` | Align selections in column | normal: `` & ``, normal: `` & `` | | `align_selections` | Align selections in column | normal: `` & ``, select: `` & `` |
| `keep_primary_selection` | Keep primary selection | normal: `` , ``, normal: `` , `` | | `keep_primary_selection` | Keep primary selection | normal: `` , ``, select: `` , `` |
| `remove_primary_selection` | Remove primary selection | normal: `` <A-,> ``, normal: `` <A-,> `` | | `remove_primary_selection` | Remove primary selection | normal: `` <A-,> ``, select: `` <A-,> `` |
| `completion` | Invoke completion popup | insert: `` <C-x> `` | | `completion` | Invoke completion popup | insert: `` <C-x> `` |
| `hover` | Show docs for item under cursor | normal: `` <space>k ``, normal: `` <space>k `` | | `hover` | Show docs for item under cursor | normal: `` <space>k ``, select: `` <space>k `` |
| `toggle_comments` | Comment/uncomment selections | normal: `` <space>c ``, `` <C-c> ``, normal: `` <space>c ``, `` <C-c> `` | | `toggle_comments` | Comment/uncomment selections | normal: `` <C-c> ``, `` <space>c ``, select: `` <C-c> ``, `` <space>c `` |
| `toggle_line_comments` | Line comment/uncomment selections | normal: `` <space><A-c> ``, normal: `` <space><A-c> `` | | `toggle_line_comments` | Line comment/uncomment selections | normal: `` <space><A-c> ``, select: `` <space><A-c> `` |
| `toggle_block_comments` | Block comment/uncomment selections | normal: `` <space>C ``, normal: `` <space>C `` | | `toggle_block_comments` | Block comment/uncomment selections | normal: `` <space>C ``, select: `` <space>C `` |
| `rotate_selections_forward` | Rotate selections forward | normal: `` ) ``, normal: `` ) `` | | `rotate_selections_forward` | Rotate selections forward | normal: `` ) ``, select: `` ) `` |
| `rotate_selections_backward` | Rotate selections backward | normal: `` ( ``, normal: `` ( `` | | `rotate_selections_backward` | Rotate selections backward | normal: `` ( ``, select: `` ( `` |
| `rotate_selection_contents_forward` | Rotate selection contents forward | normal: `` <A-)> ``, normal: `` <A-)> `` | | `rotate_selection_contents_forward` | Rotate selection contents forward | normal: `` <A-)> ``, select: `` <A-)> `` |
| `rotate_selection_contents_backward` | Rotate selections contents backward | normal: `` <A-(> ``, normal: `` <A-(> `` | | `rotate_selection_contents_backward` | Rotate selections contents backward | normal: `` <A-(> ``, select: `` <A-(> `` |
| `reverse_selection_contents` | Reverse selections contents | | | `reverse_selection_contents` | Reverse selections contents | |
| `expand_selection` | Expand selection to parent syntax node | normal: `` <A-o> ``, `` <A-up> ``, normal: `` <A-o> ``, `` <A-up> `` | | `expand_selection` | Expand selection to parent syntax node | normal: `` <A-o> ``, `` <A-up> ``, select: `` <A-o> ``, `` <A-up> `` |
| `shrink_selection` | Shrink selection to previously expanded syntax node | normal: `` <A-down> ``, `` <A-i> ``, normal: `` <A-down> ``, `` <A-i> `` | | `shrink_selection` | Shrink selection to previously expanded syntax node | normal: `` <A-down> ``, `` <A-i> ``, select: `` <A-down> ``, `` <A-i> `` |
| `select_next_sibling` | Select next sibling in the syntax tree | normal: `` <A-n> ``, `` <A-right> ``, normal: `` <A-n> ``, `` <A-right> `` | | `select_next_sibling` | Select next sibling in the syntax tree | normal: `` <A-n> ``, `` <A-right> ``, select: `` <A-n> ``, `` <A-right> `` |
| `select_prev_sibling` | Select previous sibling the in syntax tree | normal: `` <A-left> ``, `` <A-p> ``, normal: `` <A-left> ``, `` <A-p> `` | | `select_prev_sibling` | Select previous sibling the in syntax tree | normal: `` <A-left> ``, `` <A-p> ``, select: `` <A-left> ``, `` <A-p> `` |
| `select_all_siblings` | Select all siblings of the current node | normal: `` <A-a> ``, normal: `` <A-a> `` | | `select_all_siblings` | Select all siblings of the current node | normal: `` <A-a> ``, select: `` <A-a> `` |
| `select_all_children` | Select all children of the current node | normal: `` <A-I> ``, `` <S-A-down> ``, normal: `` <A-I> ``, `` <S-A-down> `` | | `select_all_children` | Select all children of the current node | normal: `` <S-A-down> ``, `` <A-I> ``, select: `` <S-A-down> ``, `` <A-I> `` |
| `jump_forward` | Jump forward on jumplist | normal: `` <C-i> ``, `` <tab> ``, normal: `` <C-i> ``, `` <tab> `` | | `jump_forward` | Jump forward on jumplist | normal: `` <C-i> ``, `` <tab> ``, select: `` <C-i> ``, `` <tab> `` |
| `jump_backward` | Jump backward on jumplist | normal: `` <C-o> ``, normal: `` <C-o> `` | | `jump_backward` | Jump backward on jumplist | normal: `` <C-o> ``, select: `` <C-o> `` |
| `save_selection` | Save current selection to jumplist | normal: `` <C-s> ``, normal: `` <C-s> `` | | `save_selection` | Save current selection to jumplist | normal: `` <C-s> ``, select: `` <C-s> `` |
| `jump_view_right` | Jump to right split | normal: `` <space>wl ``, `` <space>w<right> ``, `` <space>w<C-l> ``, `` <C-w>l ``, `` <C-w><C-l> ``, `` <C-w><right> ``, normal: `` <space>wl ``, `` <space>w<right> ``, `` <space>w<C-l> ``, `` <C-w>l ``, `` <C-w><C-l> ``, `` <C-w><right> `` | | `jump_view_right` | Jump to right split | normal: `` <C-w><C-l> ``, `` <C-w>l ``, `` <C-w><right> ``, `` <space>w<right> ``, `` <space>w<C-l> ``, `` <space>wl ``, select: `` <C-w><C-l> ``, `` <C-w>l ``, `` <C-w><right> ``, `` <space>w<right> ``, `` <space>w<C-l> ``, `` <space>wl `` |
| `jump_view_left` | Jump to left split | normal: `` <space>w<left> ``, `` <space>w<C-h> ``, `` <space>wh ``, `` <C-w>h ``, `` <C-w><C-h> ``, `` <C-w><left> ``, normal: `` <space>w<left> ``, `` <space>w<C-h> ``, `` <space>wh ``, `` <C-w>h ``, `` <C-w><C-h> ``, `` <C-w><left> `` | | `jump_view_left` | Jump to left split | normal: `` <C-w><C-h> ``, `` <C-w><left> ``, `` <C-w>h ``, `` <space>wh ``, `` <space>w<left> ``, `` <space>w<C-h> ``, select: `` <C-w><C-h> ``, `` <C-w><left> ``, `` <C-w>h ``, `` <space>wh ``, `` <space>w<left> ``, `` <space>w<C-h> `` |
| `jump_view_up` | Jump to split above | normal: `` <space>w<C-k> ``, `` <space>wk ``, `` <space>w<up> ``, `` <C-w>k ``, `` <C-w><up> ``, `` <C-w><C-k> ``, normal: `` <space>w<C-k> ``, `` <space>wk ``, `` <space>w<up> ``, `` <C-w>k ``, `` <C-w><up> ``, `` <C-w><C-k> `` | | `jump_view_up` | Jump to split above | normal: `` <C-w>k ``, `` <C-w><up> ``, `` <C-w><C-k> ``, `` <space>w<C-k> ``, `` <space>wk ``, `` <space>w<up> ``, select: `` <C-w>k ``, `` <C-w><up> ``, `` <C-w><C-k> ``, `` <space>w<C-k> ``, `` <space>wk ``, `` <space>w<up> `` |
| `jump_view_down` | Jump to split below | normal: `` <space>wj ``, `` <space>w<C-j> ``, `` <space>w<down> ``, `` <C-w>j ``, `` <C-w><C-j> ``, `` <C-w><down> ``, normal: `` <space>wj ``, `` <space>w<C-j> ``, `` <space>w<down> ``, `` <C-w>j ``, `` <C-w><C-j> ``, `` <C-w><down> `` | | `jump_view_down` | Jump to split below | normal: `` <C-w><down> ``, `` <C-w>j ``, `` <C-w><C-j> ``, `` <space>wj ``, `` <space>w<C-j> ``, `` <space>w<down> ``, select: `` <C-w><down> ``, `` <C-w>j ``, `` <C-w><C-j> ``, `` <space>wj ``, `` <space>w<C-j> ``, `` <space>w<down> `` |
| `swap_view_right` | Swap with right split | normal: `` <space>wL ``, `` <C-w>L ``, normal: `` <space>wL ``, `` <C-w>L `` | | `swap_view_right` | Swap with right split | normal: `` <C-w>L ``, `` <space>wL ``, select: `` <C-w>L ``, `` <space>wL `` |
| `swap_view_left` | Swap with left split | normal: `` <space>wH ``, `` <C-w>H ``, normal: `` <space>wH ``, `` <C-w>H `` | | `swap_view_left` | Swap with left split | normal: `` <C-w>H ``, `` <space>wH ``, select: `` <C-w>H ``, `` <space>wH `` |
| `swap_view_up` | Swap with split above | normal: `` <space>wK ``, `` <C-w>K ``, normal: `` <space>wK ``, `` <C-w>K `` | | `swap_view_up` | Swap with split above | normal: `` <C-w>K ``, `` <space>wK ``, select: `` <C-w>K ``, `` <space>wK `` |
| `swap_view_down` | Swap with split below | normal: `` <space>wJ ``, `` <C-w>J ``, normal: `` <space>wJ ``, `` <C-w>J `` | | `swap_view_down` | Swap with split below | normal: `` <C-w>J ``, `` <space>wJ ``, select: `` <C-w>J ``, `` <space>wJ `` |
| `transpose_view` | Transpose splits | normal: `` <space>wt ``, `` <space>w<C-t> ``, `` <C-w><C-t> ``, `` <C-w>t ``, normal: `` <space>wt ``, `` <space>w<C-t> ``, `` <C-w><C-t> ``, `` <C-w>t `` | | `transpose_view` | Transpose splits | normal: `` <C-w>t ``, `` <C-w><C-t> ``, `` <space>wt ``, `` <space>w<C-t> ``, select: `` <C-w>t ``, `` <C-w><C-t> ``, `` <space>wt ``, `` <space>w<C-t> `` |
| `rotate_view` | Goto next window | normal: `` <space>ww ``, `` <space>w<C-w> ``, `` <C-w>w ``, `` <C-w><C-w> ``, normal: `` <space>ww ``, `` <space>w<C-w> ``, `` <C-w>w ``, `` <C-w><C-w> `` | | `rotate_view` | Goto next window | normal: `` <C-w>w ``, `` <C-w><C-w> ``, `` <space>w<C-w> ``, `` <space>ww ``, select: `` <C-w>w ``, `` <C-w><C-w> ``, `` <space>w<C-w> ``, `` <space>ww `` |
| `rotate_view_reverse` | Goto previous window | | | `rotate_view_reverse` | Goto previous window | |
| `hsplit` | Horizontal bottom split | normal: `` <space>ws ``, `` <space>w<C-s> ``, `` <C-w><C-s> ``, `` <C-w>s ``, normal: `` <space>ws ``, `` <space>w<C-s> ``, `` <C-w><C-s> ``, `` <C-w>s `` | | `hsplit` | Horizontal bottom split | normal: `` <C-w>s ``, `` <C-w><C-s> ``, `` <space>ws ``, `` <space>w<C-s> ``, select: `` <C-w>s ``, `` <C-w><C-s> ``, `` <space>ws ``, `` <space>w<C-s> `` |
| `hsplit_new` | Horizontal bottom split scratch buffer | normal: `` <space>wn<C-s> ``, `` <space>wns ``, `` <C-w>n<C-s> ``, `` <C-w>ns ``, normal: `` <space>wn<C-s> ``, `` <space>wns ``, `` <C-w>n<C-s> ``, `` <C-w>ns `` | | `hsplit_new` | Horizontal bottom split scratch buffer | normal: `` <C-w>ns ``, `` <C-w>n<C-s> ``, `` <space>wn<C-s> ``, `` <space>wns ``, select: `` <C-w>ns ``, `` <C-w>n<C-s> ``, `` <space>wn<C-s> ``, `` <space>wns `` |
| `vsplit` | Vertical right split | normal: `` <space>w<C-v> ``, `` <space>wv ``, `` <C-w>v ``, `` <C-w><C-v> ``, normal: `` <space>w<C-v> ``, `` <space>wv ``, `` <C-w>v ``, `` <C-w><C-v> `` | | `vsplit` | Vertical right split | normal: `` <C-w><C-v> ``, `` <C-w>v ``, `` <space>wv ``, `` <space>w<C-v> ``, select: `` <C-w><C-v> ``, `` <C-w>v ``, `` <space>wv ``, `` <space>w<C-v> `` |
| `vsplit_new` | Vertical right split scratch buffer | normal: `` <space>wn<C-v> ``, `` <space>wnv ``, `` <C-w>nv ``, `` <C-w>n<C-v> ``, normal: `` <space>wn<C-v> ``, `` <space>wnv ``, `` <C-w>nv ``, `` <C-w>n<C-v> `` | | `vsplit_new` | Vertical right split scratch buffer | normal: `` <C-w>n<C-v> ``, `` <C-w>nv ``, `` <space>wn<C-v> ``, `` <space>wnv ``, select: `` <C-w>n<C-v> ``, `` <C-w>nv ``, `` <space>wn<C-v> ``, `` <space>wnv `` |
| `wclose` | Close window | normal: `` <space>wq ``, `` <space>w<C-q> ``, `` <C-w><C-q> ``, `` <C-w>q ``, normal: `` <space>wq ``, `` <space>w<C-q> ``, `` <C-w><C-q> ``, `` <C-w>q `` | | `wclose` | Close window | normal: `` <C-w><C-q> ``, `` <C-w>q ``, `` <space>wq ``, `` <space>w<C-q> ``, select: `` <C-w><C-q> ``, `` <C-w>q ``, `` <space>wq ``, `` <space>w<C-q> `` |
| `wonly` | Close windows except current | normal: `` <space>w<C-o> ``, `` <space>wo ``, `` <C-w>o ``, `` <C-w><C-o> ``, normal: `` <space>w<C-o> ``, `` <space>wo ``, `` <C-w>o ``, `` <C-w><C-o> `` | | `wonly` | Close windows except current | normal: `` <C-w>o ``, `` <C-w><C-o> ``, `` <space>wo ``, `` <space>w<C-o> ``, select: `` <C-w>o ``, `` <C-w><C-o> ``, `` <space>wo ``, `` <space>w<C-o> `` |
| `select_register` | Select register | normal: `` " ``, normal: `` " `` | | `select_register` | Select register | normal: `` " ``, select: `` " `` |
| `insert_register` | Insert register | insert: `` <C-r> `` | | `insert_register` | Insert register | insert: `` <C-r> `` |
| `align_view_middle` | Align view middle | normal: `` zm ``, `` Zm ``, normal: `` zm ``, `` Zm `` | | `align_view_middle` | Align view middle | normal: `` zm ``, `` Zm ``, select: `` zm ``, `` Zm `` |
| `align_view_top` | Align view top | normal: `` zt ``, `` Zt ``, normal: `` zt ``, `` Zt `` | | `align_view_top` | Align view top | normal: `` zt ``, `` Zt ``, select: `` zt ``, `` Zt `` |
| `align_view_center` | Align view center | normal: `` zc ``, `` zz ``, `` Zz ``, `` Zc ``, normal: `` zc ``, `` zz ``, `` Zz ``, `` Zc `` | | `align_view_center` | Align view center | normal: `` zc ``, `` zz ``, `` Zz ``, `` Zc ``, select: `` zc ``, `` zz ``, `` Zz ``, `` Zc `` |
| `align_view_bottom` | Align view bottom | normal: `` zb ``, `` Zb ``, normal: `` zb ``, `` Zb `` | | `align_view_bottom` | Align view bottom | normal: `` zb ``, `` Zb ``, select: `` zb ``, `` Zb `` |
| `scroll_up` | Scroll view up | normal: `` zk ``, `` z<up> ``, `` Z<up> ``, `` Zk ``, normal: `` zk ``, `` z<up> ``, `` Z<up> ``, `` Zk `` | | `scroll_up` | Scroll view up | normal: `` zk ``, `` z<up> ``, `` Z<up> ``, `` Zk ``, select: `` zk ``, `` z<up> ``, `` Z<up> ``, `` Zk `` |
| `scroll_down` | Scroll view down | normal: `` z<down> ``, `` zj ``, `` Z<down> ``, `` Zj ``, normal: `` z<down> ``, `` zj ``, `` Z<down> ``, `` Zj `` | | `scroll_down` | Scroll view down | normal: `` zj ``, `` z<down> ``, `` Zj ``, `` Z<down> ``, select: `` zj ``, `` z<down> ``, `` Zj ``, `` Z<down> `` |
| `match_brackets` | Goto matching bracket | normal: `` mm ``, normal: `` mm `` | | `match_brackets` | Goto matching bracket | normal: `` mm ``, select: `` mm `` |
| `surround_add` | Surround add | normal: `` ms ``, normal: `` ms `` | | `surround_add` | Surround add | normal: `` ms ``, select: `` ms `` |
| `surround_replace` | Surround replace | normal: `` mr ``, normal: `` mr `` | | `surround_replace` | Surround replace | normal: `` mr ``, select: `` mr `` |
| `surround_delete` | Surround delete | normal: `` md ``, normal: `` md `` | | `surround_delete` | Surround delete | normal: `` md ``, select: `` md `` |
| `select_textobject_around` | Select around object | normal: `` ma ``, normal: `` ma `` | | `select_textobject_around` | Select around object | normal: `` ma ``, select: `` ma `` |
| `select_textobject_inner` | Select inside object | normal: `` mi ``, normal: `` mi `` | | `select_textobject_inner` | Select inside object | normal: `` mi ``, select: `` mi `` |
| `goto_next_function` | Goto next function | normal: `` ]f ``, normal: `` ]f `` | | `goto_next_function` | Goto next function | normal: `` ]f ``, select: `` ]f `` |
| `goto_prev_function` | Goto previous function | normal: `` [f ``, normal: `` [f `` | | `goto_prev_function` | Goto previous function | normal: `` [f ``, select: `` [f `` |
| `goto_next_class` | Goto next type definition | normal: `` ]t ``, normal: `` ]t `` | | `goto_next_class` | Goto next type definition | normal: `` ]t ``, select: `` ]t `` |
| `goto_prev_class` | Goto previous type definition | normal: `` [t ``, normal: `` [t `` | | `goto_prev_class` | Goto previous type definition | normal: `` [t ``, select: `` [t `` |
| `goto_next_parameter` | Goto next parameter | normal: `` ]a ``, normal: `` ]a `` | | `goto_next_parameter` | Goto next parameter | normal: `` ]a ``, select: `` ]a `` |
| `goto_prev_parameter` | Goto previous parameter | normal: `` [a ``, normal: `` [a `` | | `goto_prev_parameter` | Goto previous parameter | normal: `` [a ``, select: `` [a `` |
| `goto_next_comment` | Goto next comment | normal: `` ]c ``, normal: `` ]c `` | | `goto_next_comment` | Goto next comment | normal: `` ]c ``, select: `` ]c `` |
| `goto_prev_comment` | Goto previous comment | normal: `` [c ``, normal: `` [c `` | | `goto_prev_comment` | Goto previous comment | normal: `` [c ``, select: `` [c `` |
| `goto_next_test` | Goto next test | normal: `` ]T ``, normal: `` ]T `` | | `goto_next_test` | Goto next test | normal: `` ]T ``, select: `` ]T `` |
| `goto_prev_test` | Goto previous test | normal: `` [T ``, normal: `` [T `` | | `goto_prev_test` | Goto previous test | normal: `` [T ``, select: `` [T `` |
| `goto_next_entry` | Goto next pairing | normal: `` ]e ``, normal: `` ]e `` | | `goto_next_entry` | Goto next pairing | normal: `` ]e ``, select: `` ]e `` |
| `goto_prev_entry` | Goto previous pairing | normal: `` [e ``, normal: `` [e `` | | `goto_prev_entry` | Goto previous pairing | normal: `` [e ``, select: `` [e `` |
| `goto_next_paragraph` | Goto next paragraph | normal: `` ]p ``, normal: `` ]p `` | | `goto_next_paragraph` | Goto next paragraph | normal: `` ]p ``, select: `` ]p `` |
| `goto_prev_paragraph` | Goto previous paragraph | normal: `` [p ``, normal: `` [p `` | | `goto_prev_paragraph` | Goto previous paragraph | normal: `` [p ``, select: `` [p `` |
| `dap_launch` | Launch debug target | normal: `` <space>Gl ``, normal: `` <space>Gl `` | | `dap_launch` | Launch debug target | normal: `` <space>Gl ``, select: `` <space>Gl `` |
| `dap_restart` | Restart debugging session | normal: `` <space>Gr ``, normal: `` <space>Gr `` | | `dap_restart` | Restart debugging session | normal: `` <space>Gr ``, select: `` <space>Gr `` |
| `dap_toggle_breakpoint` | Toggle breakpoint | normal: `` <space>Gb ``, normal: `` <space>Gb `` | | `dap_toggle_breakpoint` | Toggle breakpoint | normal: `` <space>Gb ``, select: `` <space>Gb `` |
| `dap_continue` | Continue program execution | normal: `` <space>Gc ``, normal: `` <space>Gc `` | | `dap_continue` | Continue program execution | normal: `` <space>Gc ``, select: `` <space>Gc `` |
| `dap_pause` | Pause program execution | normal: `` <space>Gh ``, normal: `` <space>Gh `` | | `dap_pause` | Pause program execution | normal: `` <space>Gh ``, select: `` <space>Gh `` |
| `dap_step_in` | Step in | normal: `` <space>Gi ``, normal: `` <space>Gi `` | | `dap_step_in` | Step in | normal: `` <space>Gi ``, select: `` <space>Gi `` |
| `dap_step_out` | Step out | normal: `` <space>Go ``, normal: `` <space>Go `` | | `dap_step_out` | Step out | normal: `` <space>Go ``, select: `` <space>Go `` |
| `dap_next` | Step to next | normal: `` <space>Gn ``, normal: `` <space>Gn `` | | `dap_next` | Step to next | normal: `` <space>Gn ``, select: `` <space>Gn `` |
| `dap_variables` | List variables | normal: `` <space>Gv ``, normal: `` <space>Gv `` | | `dap_variables` | List variables | normal: `` <space>Gv ``, select: `` <space>Gv `` |
| `dap_terminate` | End debug session | normal: `` <space>Gt ``, normal: `` <space>Gt `` | | `dap_terminate` | End debug session | normal: `` <space>Gt ``, select: `` <space>Gt `` |
| `dap_edit_condition` | Edit breakpoint condition on current line | normal: `` <space>G<C-c> ``, normal: `` <space>G<C-c> `` | | `dap_edit_condition` | Edit breakpoint condition on current line | normal: `` <space>G<C-c> ``, select: `` <space>G<C-c> `` |
| `dap_edit_log` | Edit breakpoint log message on current line | normal: `` <space>G<C-l> ``, normal: `` <space>G<C-l> `` | | `dap_edit_log` | Edit breakpoint log message on current line | normal: `` <space>G<C-l> ``, select: `` <space>G<C-l> `` |
| `dap_switch_thread` | Switch current thread | normal: `` <space>Gst ``, normal: `` <space>Gst `` | | `dap_switch_thread` | Switch current thread | normal: `` <space>Gst ``, select: `` <space>Gst `` |
| `dap_switch_stack_frame` | Switch stack frame | normal: `` <space>Gsf ``, normal: `` <space>Gsf `` | | `dap_switch_stack_frame` | Switch stack frame | normal: `` <space>Gsf ``, select: `` <space>Gsf `` |
| `dap_enable_exceptions` | Enable exception breakpoints | normal: `` <space>Ge ``, normal: `` <space>Ge `` | | `dap_enable_exceptions` | Enable exception breakpoints | normal: `` <space>Ge ``, select: `` <space>Ge `` |
| `dap_disable_exceptions` | Disable exception breakpoints | normal: `` <space>GE ``, normal: `` <space>GE `` | | `dap_disable_exceptions` | Disable exception breakpoints | normal: `` <space>GE ``, select: `` <space>GE `` |
| `shell_pipe` | Pipe selections through shell command | normal: `` | ``, normal: `` | `` | | `shell_pipe` | Pipe selections through shell command | normal: `` | ``, select: `` | `` |
| `shell_pipe_to` | Pipe selections into shell command ignoring output | normal: `` <A-|> ``, normal: `` <A-|> `` | | `shell_pipe_to` | Pipe selections into shell command ignoring output | normal: `` <A-|> ``, select: `` <A-|> `` |
| `shell_insert_output` | Insert shell command output before selections | normal: `` ! ``, normal: `` ! `` | | `shell_insert_output` | Insert shell command output before selections | normal: `` ! ``, select: `` ! `` |
| `shell_append_output` | Append shell command output after selections | normal: `` <A-!> ``, normal: `` <A-!> `` | | `shell_append_output` | Append shell command output after selections | normal: `` <A-!> ``, select: `` <A-!> `` |
| `shell_keep_pipe` | Filter selections with shell predicate | normal: `` $ ``, normal: `` $ `` | | `shell_keep_pipe` | Filter selections with shell predicate | normal: `` $ ``, select: `` $ `` |
| `suspend` | Suspend and return to shell | normal: `` <C-z> ``, normal: `` <C-z> `` | | `suspend` | Suspend and return to shell | normal: `` <C-z> ``, select: `` <C-z> `` |
| `rename_symbol` | Rename symbol | normal: `` <space>r ``, normal: `` <space>r `` | | `rename_symbol` | Rename symbol | normal: `` <space>r ``, select: `` <space>r `` |
| `increment` | Increment item under cursor | normal: `` <C-a> ``, normal: `` <C-a> `` | | `increment` | Increment item under cursor | normal: `` <C-a> ``, select: `` <C-a> `` |
| `decrement` | Decrement item under cursor | normal: `` <C-x> ``, normal: `` <C-x> `` | | `decrement` | Decrement item under cursor | normal: `` <C-x> ``, select: `` <C-x> `` |
| `record_macro` | Record macro | normal: `` Q ``, normal: `` Q `` | | `record_macro` | Record macro | normal: `` Q ``, select: `` Q `` |
| `replay_macro` | Replay macro | normal: `` q ``, normal: `` q `` | | `replay_macro` | Replay macro | normal: `` q ``, select: `` q `` |
| `command_palette` | Open command palette | normal: `` <space>? ``, normal: `` <space>? `` | | `command_palette` | Open command palette | normal: `` <space>? ``, select: `` <space>? `` |
| `goto_word` | Jump to a two-character label | normal: `` gw `` | | `goto_word` | Jump to a two-character label | normal: `` gw `` |
| `extend_to_word` | Extend to a two-character label | select: `` gw `` | | `extend_to_word` | Extend to a two-character label | select: `` gw `` |

@ -70,12 +70,10 @@ pub fn static_commands() -> Result<String, DynError> {
])); ]));
for cmd in MappableCommand::STATIC_COMMAND_LIST { for cmd in MappableCommand::STATIC_COMMAND_LIST {
let keymap_strings: Vec<String> = keymaps let keymap_strings: Vec<_> = keymaps
.iter() .iter()
.enumerate() .map(|(mode, keymap)| {
.map(|(_, keymap)| { let bindings = keymap
keymap
.1
.get(cmd.name()) .get(cmd.name())
.map(|bindings| { .map(|bindings| {
bindings.iter().fold(String::new(), |mut acc, bind| { bindings.iter().fold(String::new(), |mut acc, bind| {
@ -90,22 +88,16 @@ pub fn static_commands() -> Result<String, DynError> {
acc acc
}) })
}) })
.unwrap_or_default() .unwrap_or_default();
(mode, bindings)
}) })
.collect(); .collect();
let keymap_string = keymap_strings let keymap_string = keymap_strings
.iter() .iter()
.filter(|s| !s.is_empty()) .filter(|(_, bindings)| !bindings.is_empty())
.map(|s| { .map(|(mode, bindings)| format!("{}: {}", mode, bindings))
let mode = match keymap_strings.iter().position(|t| t == s) {
Some(0) => "normal",
Some(1) => "select",
Some(2) => "insert",
_ => unreachable!(),
};
format!("{}: {}", mode, s)
})
.collect::<Vec<_>>() .collect::<Vec<_>>()
.join(", "); .join(", ");

Loading…
Cancel
Save