diff options
Diffstat (limited to 'src/normal.c')
-rw-r--r-- | src/normal.c | 7 |
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 |