diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2017-07-03 23:58:13 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2017-07-04 00:09:37 +0200 |
| commit | bfb9071526d770d1d598bb8a9752313154441283 (patch) | |
| tree | e0969805bb14ce5224611e8d4101e62cec0295e9 /vis-modes.c | |
| parent | 54ca598fcccff8844bfbe494cd3b325b2fea487f (diff) | |
| download | vis-bfb9071526d770d1d598bb8a9752313154441283.tar.gz vis-bfb9071526d770d1d598bb8a9752313154441283.tar.xz | |
vis: implement `gv` by means of new "^ register
This window local register holds the last active selections.
Diffstat (limited to 'vis-modes.c')
| -rw-r--r-- | vis-modes.c | 6 |
1 files changed, 4 insertions, 2 deletions
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); } } |
