on master help sign in
Add up/right/left/down arrow keymaps, similar to kakoune
f0fe558Antoni Stevent
helix-term/src/keymap.rs+39−4
@@ -35,10 +35,10 @@ use std::collections::HashMap;
35// f = find_char()
35// f = find_char()
36// g = goto (gg, G, gc, gd, etc)
36// g = goto (gg, G, gc, gd, etc)
37//
37//
38−// h = move_char_left(n)
38+// h = move_char_left(n) || arrow-left = move_char_left(n)
39−// j = move_line_down(n)
39+// j = move_line_down(n) || arrow-down = move_line_down(n)
40−// k = move_line_up(n)
40+// k = move_line_up(n) || arrow_up = move_line_up(n)
41−// l = move_char_right(n)
41+// l = move_char_right(n) || arrow-right = move_char_right(n)
42// : = command line
42// : = command line
43// ; = collapse selection to cursor
43// ; = collapse selection to cursor
44// " = use register
44// " = use register
@@ -128,6 +128,24 @@ pub fn default() -> Keymaps {
128 key!('k') => commands::move_line_up,
128 key!('k') => commands::move_line_up,
129 key!('l') => commands::move_char_right,
129 key!('l') => commands::move_char_right,
130
130
131+ KeyEvent {
132+ code: KeyCode::Left,
133+ modifiers: KeyModifiers::NONE
134+ } => commands::move_char_left as Command,
135+ KeyEvent {
136+ code: KeyCode::Down,
137+ modifiers: KeyModifiers::NONE
138+ } => commands::move_line_down,
139+ KeyEvent {
140+ code: KeyCode::Up,
141+ modifiers: KeyModifiers::NONE
142+ } => commands::move_line_up,
143+ KeyEvent {
144+ code: KeyCode::Right,
145+ modifiers: KeyModifiers::NONE
146+ } => commands::move_char_right,
147+
148+
131 key!('t') => commands::find_till_char,
149 key!('t') => commands::find_till_char,
132 key!('f') => commands::find_next_char,
150 key!('f') => commands::find_next_char,
133 key!('T') => commands::till_prev_char,
151 key!('T') => commands::till_prev_char,
@@ -269,6 +287,23 @@ pub fn default() -> Keymaps {
269 key!('k') => commands::extend_line_up,
287 key!('k') => commands::extend_line_up,
270 key!('l') => commands::extend_char_right,
288 key!('l') => commands::extend_char_right,
271
289
290+ KeyEvent {
291+ code: KeyCode::Left,
292+ modifiers: KeyModifiers::NONE
293+ } => commands::move_char_left as Command,
294+ KeyEvent {
295+ code: KeyCode::Down,
296+ modifiers: KeyModifiers::NONE
297+ } => commands::move_line_down,
298+ KeyEvent {
299+ code: KeyCode::Up,
300+ modifiers: KeyModifiers::NONE
301+ } => commands::move_line_up,
302+ KeyEvent {
303+ code: KeyCode::Right,
304+ modifiers: KeyModifiers::NONE
305+ } => commands::move_char_right,
306+
272 key!('w') => commands::extend_next_word_start,
307 key!('w') => commands::extend_next_word_start,
273 key!('b') => commands::extend_prev_word_start,
308 key!('b') => commands::extend_prev_word_start,
274 key!('e') => commands::extend_next_word_end,
309 key!('e') => commands::extend_next_word_end,