vim-patch:8.1.2231: introduce gM command #11321

Problem:    Not easy to move to the middle of a text line.
Solution:   Add the gM command. (Yasuhiro Matsumoto, closes vim/vim#2070)
8b530c1ff9
This commit is contained in:
Jan Edmund Lazo
2019-11-01 00:43:20 -04:00
committed by Justin M. Keyes
parent efaf4732e2
commit 471427d045
6 changed files with 52 additions and 5 deletions

View File

@@ -1895,6 +1895,7 @@ fun! Test_normal33_g_cmd2()
set wrap listchars= sbr=
let lineA='abcdefghijklmnopqrstuvwxyz'
let lineB='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
let lineC='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
$put =lineA
$put =lineB
@@ -1928,9 +1929,30 @@ fun! Test_normal33_g_cmd2()
call assert_equal(15, col('.'))
call assert_equal('l', getreg(0))
norm! 2ggdd
$put =lineC
" Test for gM
norm! gMyl
call assert_equal(73, col('.'))
call assert_equal('0', getreg(0))
" Test for 20gM
norm! 20gMyl
call assert_equal(29, col('.'))
call assert_equal('S', getreg(0))
" Test for 60gM
norm! 60gMyl
call assert_equal(87, col('.'))
call assert_equal('E', getreg(0))
" Test for g Ctrl-G
set ff=unix
let a=execute(":norm! g\<c-g>")
call assert_match('Col 87 of 144; Line 2 of 2; Word 1 of 1; Byte 88 of 146', a)
" Test for gI
norm! gIfoo
call assert_equal(['', 'fooabcdefghijk lmno0123456789AMNOPQRSTUVWXYZ'], getline(1,'$'))
call assert_equal(['', 'foo0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'], getline(1,'$'))
" Test for gi
wincmd c