From 75c24bb43ccbc0907eb427a44330e66986601f88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Wed, 22 Feb 2017 11:22:13 +0100 Subject: vis: simplify `r` implementation and fix cursor positioning --- main.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 19d5b91..a120f2c 100644 --- a/main.c +++ b/main.c @@ -1618,17 +1618,9 @@ static const char *replace(Vis *vis, const char *keys, const Arg *arg) { if (replacement[0] == 0x1b) /* */ return next; - if (vis_mode_get(vis) == VIS_MODE_NORMAL) { - int count = vis_count_get_default(vis, 1); - vis_operator(vis, VIS_OP_CHANGE); + vis_operator(vis, VIS_OP_REPLACE, replacement); + if (vis_mode_get(vis) == VIS_MODE_OPERATOR_PENDING) vis_motion(vis, VIS_MOVE_CHAR_NEXT); - for (; count > 0; count--) - vis_keys_feed(vis, replacement[0] == '\n' ? "" : replacement); - } else { - vis_operator(vis, VIS_OP_REPLACE, replacement); - } - - vis_keys_feed(vis, ""); return next; } -- cgit v1.2.3