forked from aniani/vim
patch 8.2.2904: "g$" causes scroll if half a double width char is visible
Problem: "g$" causes scroll if half a double width char is visible. Solution: Advance to the last fully visible character. (closes #8254)
This commit is contained in:
11
src/normal.c
11
src/normal.c
@@ -6144,6 +6144,17 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
i = curwin->w_leftcol + curwin->w_width - col_off - 1;
|
||||
coladvance((colnr_T)i);
|
||||
|
||||
// if the character doesn't fit move one back
|
||||
if (curwin->w_cursor.col > 0
|
||||
&& (*mb_ptr2cells)(ml_get_cursor()) > 1)
|
||||
{
|
||||
colnr_T vcol;
|
||||
|
||||
getvvcol(curwin, &curwin->w_cursor, NULL, NULL, &vcol);
|
||||
if (vcol >= curwin->w_leftcol + curwin->w_width - col_off)
|
||||
--curwin->w_cursor.col;
|
||||
}
|
||||
|
||||
// Make sure we stick in this column.
|
||||
validate_virtcol();
|
||||
curwin->w_curswant = curwin->w_virtcol;
|
||||
|
||||
Reference in New Issue
Block a user