mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 11:28:22 +00:00
vim-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: vim/vim#12861
654bdbbd32
This commit is contained in:
@@ -246,7 +246,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.
|
||||||
|
|
||||||
|
@@ -5323,7 +5323,7 @@ static void nv_g_dollar_cmd(cmdarg_T *cap)
|
|||||||
oparg_T *oap = cap->oap;
|
oparg_T *oap = cap->oap;
|
||||||
int i;
|
int i;
|
||||||
int col_off = curwin_col_off();
|
int col_off = curwin_col_off();
|
||||||
const bool flag = cap->nchar == K_END;
|
const bool flag = cap->nchar == K_END || cap->nchar == K_KEND;
|
||||||
|
|
||||||
oap->motion_type = kMTCharWise;
|
oap->motion_type = kMTCharWise;
|
||||||
oap->inclusive = true;
|
oap->inclusive = true;
|
||||||
|
@@ -4118,20 +4118,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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user