diff options
Diffstat (limited to 'src/cmds_edit.c')
-rw-r--r-- | src/cmds_edit.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/cmds_edit.c b/src/cmds_edit.c index 094ddf0..5318008 100644 --- a/src/cmds_edit.c +++ b/src/cmds_edit.c @@ -388,6 +388,23 @@ void do_editmode(struct block * sb) { inputline_pos = wcswidth(inputline, real_inputline_pos); break; + case L'^': + pos = first_nonblank_char(); + if (pos == -1) return; + del_range_wchars(inputline, pos, real_inputline_pos-1); + real_inputline_pos = pos; + inputline_pos = wcswidth(inputline, real_inputline_pos); + break; + + case L'g': + if (ui_getch_b(&wi) == -1 || wi != L'_') return; + pos = last_nonblank_char(); + if (pos == -1) return; + del_range_wchars(inputline, real_inputline_pos, pos); + real_inputline_pos = pos; + inputline_pos = wcswidth(inputline, real_inputline_pos); + break; + case L'e': // de or ce del_range_wchars(inputline, real_inputline_pos, for_word(1, 0, 0)); break; |