0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

patch 9.0.1761: g<kEnd> behaves different from g<end>

Problem:  g<kEnd> behaves different from g<end>
Solution: Make g<kEnd> behave like g<End>

closes: #12861

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
zeertzjq
2023-08-20 18:24:20 +02:00
committed by Christian Brabandt
parent 6ac1544e13
commit 654bdbbd32
4 changed files with 12 additions and 5 deletions

View File

@@ -255,7 +255,8 @@ g$ When lines wrap ('wrap' on): To the last character of
instead of going to the end of the line. instead of going to the end of the line.
When 'virtualedit' is enabled moves to the end of the When 'virtualedit' is enabled moves to the end of the
screen line. screen line.
*g<End>*
*g<End>* *g<kEnd>*
g<End> Like |g$| but to the last non-blank character g<End> Like |g$| but to the last non-blank character
instead of the last character. instead of the last character.

View File

@@ -5823,7 +5823,7 @@ nv_g_dollar_cmd(cmdarg_T *cap)
int col_off = curwin_col_off(); int col_off = curwin_col_off();
int flag = FALSE; int flag = FALSE;
if (cap->nchar == K_END) if (cap->nchar == K_END || cap->nchar == K_KEND)
flag = TRUE; flag = TRUE;
oap->motion_type = MCHAR; oap->motion_type = MCHAR;

View File

@@ -4105,20 +4105,24 @@ func Test_normal_click_on_double_width_char()
endfunc endfunc
func Test_normal33_g_cmd_nonblank() func Test_normal33_g_cmd_nonblank()
" Test that g$ goes to the last non-blank char and g<end> to the last " Test that g<End> goes to the last non-blank char and g$ to the last
" visible column " visible column
20vnew 20vnew
setlocal nowrap nonumber signcolumn=no setlocal nowrap nonumber signcolumn=no
call setline(1, ['fooo fooo fooo fooo fooo fooo fooo fooo ']) call setline(1, ['fooo fooo fooo fooo fooo fooo fooo fooo '])
exe "normal 0g\<end>" exe "normal 0g\<End>"
call assert_equal(11, col('.')) call assert_equal(11, col('.'))
normal 0g$ normal 0g$
call assert_equal(20, col('.')) call assert_equal(20, col('.'))
exe "normal 0g\<kEnd>"
call assert_equal(11, col('.'))
setlocal wrap setlocal wrap
exe "normal 0g\<end>" exe "normal 0g\<End>"
call assert_equal(11, col('.')) call assert_equal(11, col('.'))
normal 0g$ normal 0g$
call assert_equal(20, col('.')) call assert_equal(20, col('.'))
exe "normal 0g\<kEnd>"
call assert_equal(11, col('.'))
bw! bw!
endfunc endfunc

View File

@@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1761,
/**/ /**/
1760, 1760,
/**/ /**/