Test for user command counts vim: set ft=vim : STARTTEST :let g:lines = [] :so tiny.vim :com -range=% RangeLines :call add(g:lines, 'RangeLines '..' '.) :com -range -addr=arguments RangeArguments :call add(g:lines, 'RangeArguments '..' '.) :com -range=% -addr=arguments RangeArgumentsAll :call add(g:lines, 'RangeArgumentsAll '..' '.) :com -range -addr=loaded_buffers RangeLoadedBuffers :call add(g:lines, 'RangeLoadedBuffers '..' '.) :com -range=% -addr=loaded_buffers RangeLoadedBuffersAll :call add(g:lines, 'RangeLoadedBuffersAll '..' '.) :com -range -addr=buffers RangeBuffers :call add(g:lines, 'RangeBuffers '..' '.) :com -range=% -addr=buffers RangeBuffersAll :call add(g:lines, 'RangeBuffersAll '..' '.) :com -range -addr=windows RangeWindows :call add(g:lines, 'RangeWindows '..' '.) :com -range=% -addr=windows RangeWindowsAll :call add(g:lines, 'RangeWindowsAll '..' '.) :com -range -addr=tabs RangeTabs :call add(g:lines, 'RangeTabs '..' '.) :com -range=% -addr=tabs RangeTabsAll :call add(g:lines, 'RangeTabsAll '..' '.) :set hidden :arga a b c d :argdo echo "loading buffers" :argu 3 :.-,$-RangeArguments :%RangeArguments :RangeArgumentsAll :N :.RangeArguments :split|split|split|split :3wincmd w :.,$RangeWindows :%RangeWindows :RangeWindowsAll :only :blast|bd :.,$RangeLoadedBuffers :%RangeLoadedBuffers :RangeLoadedBuffersAll :.,$RangeBuffers :%RangeBuffers :RangeBuffersAll :tabe|tabe|tabe|tabe :normal 2gt :.,$RangeTabs :%RangeTabs :RangeTabsAll :1tabonly :s/\n/\r\r\r\r\r/ :2ma< :$-ma> :'<,'>RangeLines :com -range=% -buffer LocalRangeLines :call add(g:lines, 'LocalRangeLines '..' '.) :'<,'>LocalRangeLines :e! test.out :call append(0, g:lines) :w|qa! ENDTEST