bindings: make <Alt+Backspace> delete a word backwards, like in Bash
It jars a bit that it is <Ctrl+Delete> that deletes a word rightward and <Alt+Backspace> that deletes a word leftward. But it's good to also have a two-key keystroke bound by default to 'chopwordleft', and not just the three-key <Ctrl+Shift+Delete>. This fulfills https://savannah.gnu.org/bugs/?58709. Requested-by: Axel Scheepers <axel.scheepers76+gnu@gmail.com>master
parent
34f4ceb77e
commit
40b03162c3
|
@ -1218,6 +1218,7 @@ void shortcut_init(void)
|
|||
add_to_sclist(MMAIN, "M-;", 0, run_macro, 0);
|
||||
add_to_sclist(MMAIN, "M-U", 0, do_undo, 0);
|
||||
add_to_sclist(MMAIN, "M-E", 0, do_redo, 0);
|
||||
add_to_sclist(MMAIN, "M-Bsp", CONTROL_SHIFT_DELETE, chop_previous_word, 0);
|
||||
add_to_sclist(MMAIN, "Sh-^Del", CONTROL_SHIFT_DELETE, chop_previous_word, 0);
|
||||
add_to_sclist(MMAIN, "^Del", CONTROL_DELETE, chop_next_word, 0);
|
||||
add_to_sclist(MMAIN, "M-Del", ALT_DELETE, zap_text, 0);
|
||||
|
|
11
src/winio.c
11
src/winio.c
|
@ -935,9 +935,14 @@ int parse_kbinput(WINDOW *win)
|
|||
retval = keycode;
|
||||
break;
|
||||
case 1:
|
||||
if (keycode >= 0x80)
|
||||
retval = keycode;
|
||||
else if (keycode == '\t')
|
||||
if (keycode >= 0x80) {
|
||||
#ifndef NANO_TINY
|
||||
if (keycode == KEY_BACKSPACE)
|
||||
retval = CONTROL_SHIFT_DELETE;
|
||||
else
|
||||
#endif
|
||||
retval = keycode;
|
||||
} else if (keycode == '\t')
|
||||
retval = SHIFT_TAB;
|
||||
else if (key_buffer_len == 0 || *key_buffer == ESC_CODE ||
|
||||
(keycode != 'O' && keycode != '[')) {
|
||||
|
|
Loading…
Reference in New Issue