diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt index 46f968045..2ddd1b9ce 100644 --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -255,7 +255,8 @@ g$ When lines wrap ('wrap' on): To the last character of instead of going to the end of the line. When 'virtualedit' is enabled moves to the end of the screen line. - *g* + + *g* *g* g Like |g$| but to the last non-blank character instead of the last character. diff --git a/src/normal.c b/src/normal.c index cbcfd746d..38229e96e 100644 --- a/src/normal.c +++ b/src/normal.c @@ -5823,7 +5823,7 @@ nv_g_dollar_cmd(cmdarg_T *cap) int col_off = curwin_col_off(); int flag = FALSE; - if (cap->nchar == K_END) + if (cap->nchar == K_END || cap->nchar == K_KEND) flag = TRUE; oap->motion_type = MCHAR; diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim index 92d1134d7..efda142d1 100644 --- a/src/testdir/test_normal.vim +++ b/src/testdir/test_normal.vim @@ -4105,20 +4105,24 @@ func Test_normal_click_on_double_width_char() endfunc func Test_normal33_g_cmd_nonblank() - " Test that g$ goes to the last non-blank char and g to the last + " Test that g goes to the last non-blank char and g$ to the last " visible column 20vnew setlocal nowrap nonumber signcolumn=no call setline(1, ['fooo fooo fooo fooo fooo fooo fooo fooo ']) - exe "normal 0g\" + exe "normal 0g\" call assert_equal(11, col('.')) normal 0g$ call assert_equal(20, col('.')) + exe "normal 0g\" + call assert_equal(11, col('.')) setlocal wrap - exe "normal 0g\" + exe "normal 0g\" call assert_equal(11, col('.')) normal 0g$ call assert_equal(20, col('.')) + exe "normal 0g\" + call assert_equal(11, col('.')) bw! endfunc diff --git a/src/version.c b/src/version.c index 93192c323..19509d1dd 100644 --- a/src/version.c +++ b/src/version.c @@ -695,6 +695,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1761, /**/ 1760, /**/