@@ -314,7 +314,7 @@ Mappings in the style of [vim-unimpaired](https://github.com/tpope/vim-unimpaire
314| `[space` | Add newline above | `add_newline_above` |
314| `[space` | Add newline above | `add_newline_above` |
315| `]space` | Add newline below | `add_newline_below` |
315| `]space` | Add newline below | `add_newline_below` |
317−## Insert Mode
317+## Insert mode
319Insert mode bindings are somewhat minimal by default. Helix is designed to
319Insert mode bindings are somewhat minimal by default. Helix is designed to
320be a modal editor, and this is reflected in the user experience and internal
320be a modal editor, and this is reflected in the user experience and internal
@@ -323,45 +323,33 @@ escaping from insert mode to normal mode. For this reason, new users are
323strongly encouraged to learn the modal editing paradigm to get the smoothest
323strongly encouraged to learn the modal editing paradigm to get the smoothest
324experience.
324experience.
326−| Key | Description | Command |
326+| Key | Description | Command |
327−| ----- | ----------- | ------- |
327+| ----- | ----------- | ------- |
328−| `Escape` | Switch to normal mode | `normal_mode` |
328+| `Escape` | Switch to normal mode | `normal_mode` |
329+| `Ctrl-s` | Commit undo checkpoint | `commit_undo_checkpoint` |
329−| `Ctrl-x` | Autocomplete | `completion` |
330+| `Ctrl-x` | Autocomplete | `completion` |
330−| `Ctrl-r` | Insert a register content | `insert_register` |
331+| `Ctrl-r` | Insert a register content | `insert_register` |
331−| `Ctrl-w`, `Alt-Backspace`, `Ctrl-Backspace` | Delete previous word | `delete_word_backward` |
332+| `Ctrl-w`, `Alt-Backspace` | Delete previous word | `delete_word_backward` |
332−| `Alt-d`, `Alt-Delete`, `Ctrl-Delete` | Delete next word | `delete_word_forward` |
333+| `Alt-d`, `Alt-Delete` | Delete next word | `delete_word_forward` |
333−| `Ctrl-u` | Delete to start of line | `kill_to_line_start` |
334+| `Ctrl-u` | Delete to start of line | `kill_to_line_start` |
334−| `Ctrl-k` | Delete to end of line | `kill_to_line_end` |
335+| `Ctrl-k` | Delete to end of line | `kill_to_line_end` |
335−| `Ctrl-j`, `Enter` | Insert new line | `insert_newline` |
336−| `Backspace`, `Ctrl-h` | Delete previous char | `delete_char_backward` |
336+| `Ctrl-h`, `Backspace` | Delete previous char | `delete_char_backward` |
337−| `Delete`, `Ctrl-d` | Delete next char | `delete_char_forward` |
337+| `Ctrl-d`, `Delete` | Delete next char | `delete_char_forward` |
338−
338+| `Ctrl-j`, `Enter` | Insert new line | `insert_newline` |
339−However, if you really want navigation in insert mode, this is supported. An
339+
340−example config that gives the ability to use arrow keys while still in insert
340+These keys are not recommended, but are included for new users less familiar
341−mode:
341+with modal editors.
343−```toml
343+| Key | Description | Command |
344−[keys.insert]
344+| ----- | ----------- | ------- |
345−"up" = "move_line_up"
345+| `Up` | Move to previous line | `move_line_up` |
346−"down" = "move_line_down"
346+| `Down` | Move to next line | `move_line_down` |
347−"left" = "move_char_left"
348−"right" = "move_char_right"
349−"C-b" = "move_char_left"
347+| `Left` | Backward a char | `move_char_left` |
350−"C-f" = "move_char_right"
348+| `Right` | Forward a char | `move_char_right` |
351−"A-b" = "move_prev_word_end"
349+| `PageUp` | Move one page up | `page_up` |
352−"C-left" = "move_prev_word_end"
350+| `PageDown` | Move one page down | `page_down` |
353−"A-f" = "move_next_word_start"
354−"C-right" = "move_next_word_start"
355−"A-<" = "goto_file_start"
356−"A->" = "goto_file_end"
358−"pagedown" = "page_down"
359−"home" = "goto_line_start"
360−"C-a" = "goto_line_start"
351+| `Home` | Move to line start | `goto_line_start` |
361−"end" = "goto_line_end_newline"
352+| `End` | Move to line end | `goto_line_end_newline` |
362−"C-e" = "goto_line_end_newline"
363−"A-left" = "goto_line_start"
366## Select / extend mode
354## Select / extend mode