aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/move.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/move.c')
-rw-r--r--src/nvim/move.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/nvim/move.c b/src/nvim/move.c
index cc8497f544..8113331c62 100644
--- a/src/nvim/move.c
+++ b/src/nvim/move.c
@@ -815,13 +815,14 @@ void curs_columns(win_T *wp, int may_scroll)
if (wp->w_cursor.lnum == wp->w_topline
&& wp->w_skipcol > 0
&& wp->w_wcol >= wp->w_skipcol) {
- // w_skipcol excludes win_col_off(). Include it here, since w_wcol
- // counts actual screen columns.
+ // Deduct by multiples of width2. This allows the long line wrapping
+ // formula below to correctly calculate the w_wcol value when wrapping.
if (wp->w_skipcol <= width1) {
- wp->w_wcol -= wp->w_width;
+ wp->w_wcol -= width2;
} else {
- wp->w_wcol -= wp->w_width * (((wp->w_skipcol - width1) / width2) + 1);
+ wp->w_wcol -= width2 * (((wp->w_skipcol - width1) / width2) + 1);
}
+
did_sub_skipcol = true;
}