Test Visual block mode commands And test "U" in Visual mode, also on German sharp S. STARTTEST :so small.vim :so mbyte.vim :" This only works when 'encoding' is "latin1", don't depend on the environment :set enc=latin1 /^abcde :" Test shift-right of a block jlllljj>wlljlll> :" Test shift-left of a block G$hhhhkk< :" Test block-insert GklkkkIxyz :" Test block-replace Gllllkkklllrq :" Test block-change G$khhhhhkkcmno :$-4,$w! test.out :" Test block-insert using cursor keys for movement /^aaaa/ :exe ":norm! l\jjjlllI\\ \" :/^aa/,/^$/w >> test.out :" Test for Visual block was created with the last $ /^A23$/ :exe ":norm! l\j$Aab\" :.,/^$/w >> test.out :" Test for Visual block was created with the middle $ (1) /^B23$/ :exe ":norm! l\j$hAab\" :.,/^$/w >> test.out :" Test for Visual block was created with the middle $ (2) /^C23$/ :exe ":norm! l\j$hhAab\" :.,/^$/w >> test.out :" Test for Visual block insert when virtualedit=all :set ve=all :/\t\tline :exe ":norm! 07l\jjIx\" :set ve= :.,/^$/w >> test.out :" gUe must uppercase a whole word, also when ß changes to SS Gothe youtußeuu endYpk0wgUe :" gUfx must uppercase until x, inclusive. O- youßtußexu -0fogUfx :" VU must uppercase a whole line YpkVU :" same, when it's the last line in the buffer YPGi111VUddP :" Uppercase two lines Oblah di doh dutVkUj :" Uppercase part of two lines ddppi333k0i222fyllvjfuUk :" visual replace using Enter or NL G3o1234567892k05l2jr G3o987652k02l2jr G3o1234567892k05l2jr G3o987652k02l2jr :" :" Test cursor position. When ve=block and Visual block mode and $gj :set ve=block :exe ":norm! 2k\$gj\" :let cpos=getpos("'>") :$put ='col:'.cpos[2].' off:'.cpos[3] :/^the/,$w >> test.out :qa! ENDTEST line1 line2 line3 aaaaaa bbbbbb cccccc dddddd A23 4567 B23 4567 C23 4567 abcdefghijklm abcdefghijklm abcdefghijklm abcdefghijklm abcdefghijklm