1" Tests for 'virtualedit'. 2 3func Test_yank_move_change() 4 new 5 call setline(1, [ 6 \ "func foo() error {", 7 \ "\tif n, err := bar();", 8 \ "\terr != nil {", 9 \ "\t\treturn err", 10 \ "\t}", 11 \ "\tn = n * n", 12 \ ]) 13 set virtualedit=all 14 set ts=4 15 function! MoveSelectionDown(count) abort 16 normal! m` 17 silent! exe "'<,'>move'>+".a:count 18 norm! `` 19 endfunction 20 21 xmap ]e :<C-U>call MoveSelectionDown(v:count1)<CR> 22 2 23 normal 2gg 24 normal J 25 normal jVj 26 normal ]e 27 normal ce 28 bwipe! 29 set virtualedit= 30 set ts=8 31endfunc 32 33func Test_paste_end_of_line() 34 new 35 set virtualedit=all 36 call setline(1, ['456', '123']) 37 normal! gg0"ay$ 38 exe "normal! 2G$lllA\<C-O>:normal! \"agP\r" 39 call assert_equal('123456', getline(2)) 40 41 bwipe! 42 set virtualedit= 43endfunc 44 45func Test_edit_CTRL_G() 46 new 47 set virtualedit=insert 48 call setline(1, ['123', '1', '12']) 49 exe "normal! ggA\<c-g>jx\<c-g>jx" 50 call assert_equal(['123', '1 x', '12 x'], getline(1,'$')) 51 52 set virtualedit=all 53 %d_ 54 call setline(1, ['1', '12']) 55 exe "normal! ggllix\<c-g>jx" 56 call assert_equal(['1 x', '12x'], getline(1,'$')) 57 58 59 bwipe! 60 set virtualedit= 61endfunc 62