From bfb9071526d770d1d598bb8a9752313154441283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Mon, 3 Jul 2017 23:58:13 +0200 Subject: vis: implement `gv` by means of new "^ register This window local register holds the last active selections. --- vis-modes.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'vis-modes.c') diff --git a/vis-modes.c b/vis-modes.c index 6fd05b7..d6ea134 100644 --- a/vis-modes.c +++ b/vis-modes.c @@ -201,7 +201,8 @@ static void vis_mode_visual_line_enter(Vis *vis, Mode *old) { static void vis_mode_visual_line_leave(Vis *vis, Mode *new) { if (!new->visual) { - window_selection_save(vis->win); + if (!vis->action.op) + window_selection_save(vis->win); view_selections_clear_all(vis->win->view); } else { view_cursor_to(vis->win->view, view_cursor_get(vis->win->view)); @@ -210,7 +211,8 @@ static void vis_mode_visual_line_leave(Vis *vis, Mode *new) { static void vis_mode_visual_leave(Vis *vis, Mode *new) { if (!new->visual) { - window_selection_save(vis->win); + if (!vis->action.op) + window_selection_save(vis->win); view_selections_clear_all(vis->win->view); } } -- cgit v1.2.3