blob: bfde053a8b079414478ed9c2800e11b735c23e9b [file] [log] [blame]
Bram Moolenaarf1d6ccf2014-12-08 04:16:44 +01001Test for user command counts vim: set ft=vim :
2
3STARTTEST
Bram Moolenaarff8a75d2015-01-20 12:39:39 +01004:so small.vim
Bram Moolenaar322a24a2015-01-27 13:28:46 +01005:lang C
Bram Moolenaar3ffc79a2015-01-07 15:57:17 +01006:let g:lines = []
Bram Moolenaarabe382c2015-01-07 13:15:45 +01007:com -range=% RangeLines :call add(g:lines, 'RangeLines '.<line1>.' '.<line2>)
Bram Moolenaarf1d6ccf2014-12-08 04:16:44 +01008:com -range -addr=arguments RangeArguments :call add(g:lines, 'RangeArguments '.<line1>.' '.<line2>)
9:com -range=% -addr=arguments RangeArgumentsAll :call add(g:lines, 'RangeArgumentsAll '.<line1>.' '.<line2>)
10:com -range -addr=loaded_buffers RangeLoadedBuffers :call add(g:lines, 'RangeLoadedBuffers '.<line1>.' '.<line2>)
11:com -range=% -addr=loaded_buffers RangeLoadedBuffersAll :call add(g:lines, 'RangeLoadedBuffersAll '.<line1>.' '.<line2>)
12:com -range -addr=buffers RangeBuffers :call add(g:lines, 'RangeBuffers '.<line1>.' '.<line2>)
13:com -range=% -addr=buffers RangeBuffersAll :call add(g:lines, 'RangeBuffersAll '.<line1>.' '.<line2>)
14:com -range -addr=windows RangeWindows :call add(g:lines, 'RangeWindows '.<line1>.' '.<line2>)
15:com -range=% -addr=windows RangeWindowsAll :call add(g:lines, 'RangeWindowsAll '.<line1>.' '.<line2>)
16:com -range -addr=tabs RangeTabs :call add(g:lines, 'RangeTabs '.<line1>.' '.<line2>)
17:com -range=% -addr=tabs RangeTabsAll :call add(g:lines, 'RangeTabsAll '.<line1>.' '.<line2>)
18:set hidden
19:arga a b c d
20:argdo echo "loading buffers"
21:argu 3
22:.-,$-RangeArguments
23:%RangeArguments
24:RangeArgumentsAll
25:N
26:.RangeArguments
27:split|split|split|split
28:3wincmd w
29:.,$RangeWindows
30:%RangeWindows
31:RangeWindowsAll
32:only
33:blast|bd
34:.,$RangeLoadedBuffers
35:%RangeLoadedBuffers
36:RangeLoadedBuffersAll
37:.,$RangeBuffers
38:%RangeBuffers
39:RangeBuffersAll
40:tabe|tabe|tabe|tabe
41:normal 2gt
42:.,$RangeTabs
43:%RangeTabs
44:RangeTabsAll
45:1tabonly
Bram Moolenaarabe382c2015-01-07 13:15:45 +010046:s/\n/\r\r\r\r\r/
47:2ma<
48:$-ma>
49:'<,'>RangeLines
50:com -range=% -buffer LocalRangeLines :call add(g:lines, 'LocalRangeLines '.<line1>.' '.<line2>)
51:'<,'>LocalRangeLines
Bram Moolenaar3ffc79a2015-01-07 15:57:17 +010052:b1
53ENDTEST
54
55STARTTEST
56:call add(g:lines, '')
57:%argd
58:arga a b c d
59:let v:errmsg = ''
60:5argu
61:call add(g:lines, '5argu ' . v:errmsg)
62:$argu
63:call add(g:lines, '4argu ' . expand('%:t'))
64:let v:errmsg = ''
65:1argu
66:call add(g:lines, '1argu ' . expand('%:t'))
67:let v:errmsg = ''
68:100b
69:call add(g:lines, '100b ' . v:errmsg)
70:split|split|split|split
71:let v:errmsg = ''
72:0close
73:call add(g:lines, '0close ' . v:errmsg)
74:$wincmd w
75:$close
76:call add(g:lines, '$close ' . winnr())
77:let v:errmsg = ''
78:$+close
79:call add(g:lines, '$+close ' . v:errmsg)
80:$tabe
81:call add(g:lines, '$tabe ' . tabpagenr())
82:let v:errmsg = ''
83:$+tabe
84:call add(g:lines, '$+tabe ' . v:errmsg)
85:only!
86:e x
87:0tabm
88:normal 1gt
89:call add(g:lines, '0tabm ' . expand('%:t'))
90:tabonly!
91:only!
Bram Moolenaarf1d6ccf2014-12-08 04:16:44 +010092:e! test.out
93:call append(0, g:lines)
Bram Moolenaara162bc52015-01-07 16:54:21 +010094:unlet g:lines
95:w|bd
Bram Moolenaara162bc52015-01-07 16:54:21 +010096:b1
97ENDTEST
98
99STARTTEST
Bram Moolenaare8231832015-01-20 13:29:49 +0100100:let g:lines = []
101:func BufStatus()
102: call add(g:lines, 'aaa: ' . buflisted(g:buf_aaa) . ' bbb: ' . buflisted(g:buf_bbb) . ' ccc: ' . buflisted(g:buf_ccc))
103:endfunc
104:se nohidden
105:e aaa
106:let buf_aaa = bufnr('%')
107:e bbb
108:let buf_bbb = bufnr('%')
109:e ccc
110:let buf_ccc = bufnr('%')
111:b1
112:call BufStatus()
113:exe buf_bbb . "," . buf_ccc . "bdelete"
114:call BufStatus()
115:exe buf_aaa . "bdelete"
116:call BufStatus()
117:e! test.out
118:call append('$', g:lines)
119:unlet g:lines
120:delfunc BufStatus
121:w|bd
122:b1
123ENDTEST
124
125STARTTEST
126:se hidden
Bram Moolenaara162bc52015-01-07 16:54:21 +0100127:only!
128:let g:lines = []
129:%argd
130:arga a b c d e f
131:3argu
132:let args = ''
133:.,$-argdo let args .= ' '.expand('%')
134:call add(g:lines, 'argdo:' . args)
135:split|split|split|split
136:2wincmd w
137:let windows = ''
138:.,$-windo let windows .= ' '.winnr()
139:call add(g:lines, 'windo:'. windows)
140:b2
141:let buffers = ''
142:.,$-bufdo let buffers .= ' '.bufnr('%')
143:call add(g:lines, 'bufdo:' . buffers)
Bram Moolenaare25bb902015-02-27 20:33:37 +0100144:3bd
Bram Moolenaara162bc52015-01-07 16:54:21 +0100145:let buffers = ''
146:3,7bufdo let buffers .= ' '.bufnr('%')
147:call add(g:lines, 'bufdo:' . buffers)
148:tabe|tabe|tabe|tabe
149:normal! 2gt
150:let tabpages = ''
151:.,$-tabdo let tabpages .= ' '.tabpagenr()
152:call add(g:lines, 'tabdo:' . tabpages)
153:e! test.out
154:call append('$', g:lines)
Bram Moolenaarf1d6ccf2014-12-08 04:16:44 +0100155:w|qa!
156ENDTEST
157
158