summaryrefslogtreecommitdiffstats
path: root/src/cmds_edit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmds_edit.c')
-rw-r--r--src/cmds_edit.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cmds_edit.c b/src/cmds_edit.c
index c59876b..3a26aad 100644
--- a/src/cmds_edit.c
+++ b/src/cmds_edit.c
@@ -310,6 +310,12 @@ void do_editmode(struct block * sb) {
if (ui_getch_b(&wi) != -1) {
c = wi;
switch (c) {
+ case L'$':
+ pos = wcswidth(inputline, wcslen(inputline)) - 1;
+ del_range_wchars(inputline, real_inputline_pos, pos);
+ if (real_inputline_pos == wcslen(inputline) && real_inputline_pos) real_inputline_pos--;
+ inputline_pos = wcswidth(inputline, real_inputline_pos);
+ break;
case L'f':
if (ui_getch_b(&wi) == -1) return;
@@ -318,6 +324,12 @@ void do_editmode(struct block * sb) {
if (pos != -1) del_range_wchars(inputline, real_inputline_pos, pos);
break;
+ case L'0': // 0
+ del_range_wchars(inputline, 0, real_inputline_pos-1);
+ real_inputline_pos = 0;
+ 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;