@@ -272,10 +272,12 @@ looking over text and not actively editing it).
272
272
| ` n ` | Select next search match | ` search_next ` |
273
273
| ` N ` | Select previous search match | ` search_prev ` |
274
274
## Insert
275
- We support many readline/emacs style bindings in insert mode for convenience.
276
- These can be helpful for making simple modifications without escaping to normal
277
- mode, but beware that you will not have an undo-able "save point" until you
278
- return to normal mode.
275
+ Insert mode bindings are somewhat minimal by default. Helix is designed to
276
+ be a modal editor, and this is reflected in the user experience and internal
277
+ mechanics. For example, changes to the text are only saved for undos when
278
+ escaping from insert mode to normal mode. For this reason, new users are
279
+ strongly encouraged to learn the modal editing paradigm to get the smoothest
280
+ experience.
279
281
280
282
| Key | Description | Command |
281
283
| --- | --- | --- |
@@ -291,6 +293,34 @@ return to normal mode.
291
293
| ` C-u ` | Delete till start of line | ` kill_to_line_start ` |
292
294
| ` C-x ` | Invoke completion popup | ` completion ` |
293
295
| ` C-r ` | Insert register | ` insert_register ` |
296
+
297
+ However, if you really want navigation in insert mode, this is supported. An
298
+ example config that gives the ability to use arrow keys while still in insert
299
+ mode:
300
+
301
+ ``` toml
302
+ [keys .insert ]
303
+ "up" = " move_line_up"
304
+ "down" = " move_line_down"
305
+ "left" = " move_char_left"
306
+ "right" = " move_char_right"
307
+ "C-b" = " move_char_left"
308
+ "C-f" = " move_char_right"
309
+ "A-b" = " move_prev_word_end"
310
+ "C-left" = " move_prev_word_end"
311
+ "A-f" = " move_next_word_start"
312
+ "C-right" = " move_next_word_start"
313
+ "A-<" = " goto_file_start"
314
+ "A->" = " goto_file_end"
315
+ "pageup" = " page_up"
316
+ "pagedown" = " page_down"
317
+ "home" = " goto_line_start"
318
+ "C-a" = " goto_line_start"
319
+ "end" = " goto_line_end_newline"
320
+ "C-e" = " goto_line_end_newline"
321
+ "A-left" = " goto_line_start"
322
+ ```
323
+
294
324
## Select
295
325
This mode echoes Normal mode, but changes any movements to extend
296
326
selections rather than replace them. Goto motions are also changed to
0 commit comments