summaryrefslogtreecommitdiff
path: root/src/normal.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/normal.c')
-rw-r--r--src/normal.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/normal.c b/src/normal.c
index 0bd6655f2..9a3006705 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -5493,8 +5493,13 @@ nv_visual(cmdarg_T *cap)
}
else if (VIsual_mode == Ctrl_V)
{
+ // Update curswant on the original line, that is where "col" is
+ // valid.
+ linenr_T lnum = curwin->w_cursor.lnum;
+ curwin->w_cursor.lnum = VIsual.lnum;
update_curswant_force();
- curwin->w_curswant += + resel_VIsual_vcol * cap->count0 - 1;
+ curwin->w_curswant += resel_VIsual_vcol * cap->count0 - 1;
+ curwin->w_cursor.lnum = lnum;
coladvance(curwin->w_curswant);
}
else