blob: a8d8a64f2a480697e75245598ddb3df3540b5ade [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* vi:set ts=8 sts=4 sw=4:
2 *
3 * VIM - Vi IMproved by Bram Moolenaar
4 *
5 * Do ":help uganda" in Vim to read copying and usage conditions.
6 * Do ":help credits" in Vim to see a list of people who contributed.
7 */
8
9/*
10 * This file defines the Ex commands.
11 * When DO_DECLARE_EXCMD is defined, the table with ex command names and
12 * options results.
13 * When DO_DECLARE_EXCMD is NOT defined, the enum with all the Ex commands
14 * results.
15 * This clever trick was invented by Ron Aaron.
16 */
17
18/*
19 * When adding an Ex command:
20 * 1. Add an entry in the table below. Keep it sorted on the shortest
21 * version of the command name that works. If it doesn't start with a
22 * lower case letter, add it at the end.
23 * 2. Add a "case: CMD_xxx" in the big switch in ex_docmd.c.
24 * 3. Add an entry in the index for Ex commands at ":help ex-cmd-index".
25 * 4. Add documentation in ../doc/xxx.txt. Add a tag for both the short and
26 * long name of the command.
27 */
28
29#ifdef RANGE
30# undef RANGE /* SASC on Amiga defines it */
31#endif
32
33#define RANGE 0x001 /* allow a linespecs */
34#define BANG 0x002 /* allow a ! after the command name */
35#define EXTRA 0x004 /* allow extra args after command name */
36#define XFILE 0x008 /* expand wildcards in extra part */
37#define NOSPC 0x010 /* no spaces allowed in the extra part */
38#define DFLALL 0x020 /* default file range is 1,$ */
39#define WHOLEFOLD 0x040 /* extend range to include whole fold also
40 when less than two numbers given */
41#define NEEDARG 0x080 /* argument required */
42#define TRLBAR 0x100 /* check for trailing vertical bar */
43#define REGSTR 0x200 /* allow "x for register designation */
44#define COUNT 0x400 /* allow count in argument, after command */
45#define NOTRLCOM 0x800 /* no trailing comment allowed */
46#define ZEROR 0x1000 /* zero line number allowed */
47#define USECTRLV 0x2000 /* do not remove CTRL-V from argument */
48#define NOTADR 0x4000 /* number before command is not an address */
49#define EDITCMD 0x8000 /* allow "+command" argument */
50#define BUFNAME 0x10000L /* accepts buffer name */
51#define BUFUNL 0x20000L /* accepts unlisted buffer too */
52#define ARGOPT 0x40000L /* allow "++opt=val" argument */
53#define SBOXOK 0x80000L /* allowed in the sandbox */
54#define CMDWIN 0x100000L /* allowed in cmdline window */
55#define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */
Bram Moolenaar5313dcb2005-02-22 08:56:13 +000056#define EXFLAGS 0x400000L /* allow flags after count in argument */
Bram Moolenaar071d4272004-06-13 20:20:40 +000057#define FILES (XFILE | EXTRA) /* multiple extra files allowed */
58#define WORD1 (EXTRA | NOSPC) /* one extra word allowed */
59#define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */
60
61#ifndef DO_DECLARE_EXCMD
62typedef struct exarg exarg_T;
63#endif
64
65/*
66 * This array maps ex command names to command codes.
67 * The order in which command names are listed below is significant --
68 * ambiguous abbreviations are always resolved to be the first possible match
69 * (e.g. "r" is taken to mean "read", not "rewind", because "read" comes
70 * before "rewind").
71 * Not supported commands are included to avoid ambiguities.
72 */
73#ifdef EX
74# undef EX /* just in case */
75#endif
76#ifdef DO_DECLARE_EXCMD
77# define EX(a, b, c, d) {(char_u *)b, c, d}
78
79typedef void (*ex_func_T) __ARGS((exarg_T *eap));
80
81static struct cmdname
82{
83 char_u *cmd_name; /* name of the command */
84 ex_func_T cmd_func; /* function for this command */
85 long_u cmd_argt; /* flags declared above */
86}
87# if defined(FEAT_GUI_W16)
88_far
89# endif
90cmdnames[] =
91#else
92# define EX(a, b, c, d) a
93enum CMD_index
94#endif
95{
96EX(CMD_append, "append", ex_append,
97 BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY),
98EX(CMD_abbreviate, "abbreviate", ex_abbreviate,
99 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
100EX(CMD_abclear, "abclear", ex_abclear,
101 EXTRA|TRLBAR|CMDWIN),
102EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier,
103 NEEDARG|EXTRA|NOTRLCOM),
104EX(CMD_all, "all", ex_all,
105 RANGE|NOTADR|COUNT|TRLBAR),
106EX(CMD_amenu, "amenu", ex_menu,
107 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
108EX(CMD_anoremenu, "anoremenu", ex_menu,
109 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
110EX(CMD_args, "args", ex_args,
111 BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
112EX(CMD_argadd, "argadd", ex_argadd,
Bram Moolenaar5b743bf2005-03-15 22:50:43 +0000113 BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000114EX(CMD_argdelete, "argdelete", ex_argdelete,
Bram Moolenaarc0761132005-03-18 20:30:32 +0000115 BANG|RANGE|NOTADR|FILES|TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000116EX(CMD_argdo, "argdo", ex_listdo,
117 BANG|NEEDARG|EXTRA|NOTRLCOM),
118EX(CMD_argedit, "argedit", ex_argedit,
Bram Moolenaarc0761132005-03-18 20:30:32 +0000119 BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000120EX(CMD_argglobal, "argglobal", ex_args,
121 BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
122EX(CMD_arglocal, "arglocal", ex_args,
123 BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
124EX(CMD_argument, "argument", ex_argument,
125 BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
126EX(CMD_ascii, "ascii", do_ascii,
127 TRLBAR|SBOXOK|CMDWIN),
128EX(CMD_autocmd, "autocmd", ex_autocmd,
129 BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN),
130EX(CMD_augroup, "augroup", ex_autocmd,
131 BANG|WORD1|TRLBAR|CMDWIN),
132EX(CMD_aunmenu, "aunmenu", ex_menu,
133 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
134EX(CMD_buffer, "buffer", ex_buffer,
135 BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
136EX(CMD_bNext, "bNext", ex_bprevious,
137 BANG|RANGE|NOTADR|COUNT|TRLBAR),
138EX(CMD_ball, "ball", ex_buffer_all,
139 RANGE|NOTADR|COUNT|TRLBAR),
140EX(CMD_badd, "badd", ex_edit,
141 NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN),
142EX(CMD_bdelete, "bdelete", ex_bunload,
143 BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
144EX(CMD_behave, "behave", ex_behave,
145 NEEDARG|WORD1|TRLBAR|CMDWIN),
146EX(CMD_belowright, "belowright", ex_wrongmodifier,
147 NEEDARG|EXTRA|NOTRLCOM),
148EX(CMD_bfirst, "bfirst", ex_brewind,
149 BANG|RANGE|NOTADR|TRLBAR),
150EX(CMD_blast, "blast", ex_blast,
151 BANG|RANGE|NOTADR|TRLBAR),
152EX(CMD_bmodified, "bmodified", ex_bmodified,
153 BANG|RANGE|NOTADR|COUNT|TRLBAR),
154EX(CMD_bnext, "bnext", ex_bnext,
155 BANG|RANGE|NOTADR|COUNT|TRLBAR),
156EX(CMD_botright, "botright", ex_wrongmodifier,
157 NEEDARG|EXTRA|NOTRLCOM),
158EX(CMD_bprevious, "bprevious", ex_bprevious,
159 BANG|RANGE|NOTADR|COUNT|TRLBAR),
160EX(CMD_brewind, "brewind", ex_brewind,
161 BANG|RANGE|NOTADR|TRLBAR),
162EX(CMD_break, "break", ex_break,
163 TRLBAR|SBOXOK|CMDWIN),
164EX(CMD_breakadd, "breakadd", ex_breakadd,
165 EXTRA|TRLBAR|CMDWIN),
166EX(CMD_breakdel, "breakdel", ex_breakdel,
167 EXTRA|TRLBAR|CMDWIN),
168EX(CMD_breaklist, "breaklist", ex_breaklist,
169 EXTRA|TRLBAR|CMDWIN),
170EX(CMD_browse, "browse", ex_wrongmodifier,
171 NEEDARG|EXTRA|NOTRLCOM|CMDWIN),
172EX(CMD_buffers, "buffers", buflist_list,
173 BANG|TRLBAR|CMDWIN),
174EX(CMD_bufdo, "bufdo", ex_listdo,
175 BANG|NEEDARG|EXTRA|NOTRLCOM),
176EX(CMD_bunload, "bunload", ex_bunload,
177 BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
178EX(CMD_bwipeout, "bwipeout", ex_bunload,
179 BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
180EX(CMD_change, "change", ex_change,
181 BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY),
182EX(CMD_cNext, "cNext", ex_cnext,
183 RANGE|NOTADR|COUNT|TRLBAR|BANG),
184EX(CMD_cNfile, "cNfile", ex_cnext,
185 RANGE|NOTADR|COUNT|TRLBAR|BANG),
186EX(CMD_cabbrev, "cabbrev", ex_abbreviate,
187 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
188EX(CMD_cabclear, "cabclear", ex_abclear,
189 EXTRA|TRLBAR|CMDWIN),
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000190EX(CMD_caddbuffer, "caddbuffer", ex_cbuffer,
191 RANGE|NOTADR|WORD1|TRLBAR),
Bram Moolenaar4770d092006-01-12 23:22:24 +0000192EX(CMD_caddexpr, "caddexpr", ex_cexpr,
193 NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),
Bram Moolenaar87e25fd2005-07-27 21:13:01 +0000194EX(CMD_caddfile, "caddfile", ex_cfile,
195 TRLBAR|FILE1),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000196EX(CMD_call, "call", ex_call,
197 RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
198EX(CMD_catch, "catch", ex_catch,
199 EXTRA|SBOXOK|CMDWIN),
Bram Moolenaar86b68352004-12-27 21:59:20 +0000200EX(CMD_cbuffer, "cbuffer", ex_cbuffer,
201 RANGE|NOTADR|WORD1|TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000202EX(CMD_cc, "cc", ex_cc,
203 RANGE|NOTADR|COUNT|TRLBAR|BANG),
204EX(CMD_cclose, "cclose", ex_cclose,
205 RANGE|NOTADR|COUNT|TRLBAR),
206EX(CMD_cd, "cd", ex_cd,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000207 BANG|FILE1|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000208EX(CMD_center, "center", ex_align,
209 TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
Bram Moolenaar87e25fd2005-07-27 21:13:01 +0000210EX(CMD_cexpr, "cexpr", ex_cexpr,
211 NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000212EX(CMD_cfile, "cfile", ex_cfile,
213 TRLBAR|FILE1|BANG),
214EX(CMD_cfirst, "cfirst", ex_cc,
215 RANGE|NOTADR|COUNT|TRLBAR|BANG),
216EX(CMD_cgetfile, "cgetfile", ex_cfile,
217 TRLBAR|FILE1|BANG),
218EX(CMD_chdir, "chdir", ex_cd,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000219 BANG|FILE1|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000220EX(CMD_changes, "changes", ex_changes,
221 TRLBAR|CMDWIN),
222EX(CMD_checkpath, "checkpath", ex_checkpath,
223 TRLBAR|BANG|CMDWIN),
224EX(CMD_checktime, "checktime", ex_checktime,
225 RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
226EX(CMD_clist, "clist", qf_list,
227 BANG|EXTRA|TRLBAR|CMDWIN),
228EX(CMD_clast, "clast", ex_cc,
229 RANGE|NOTADR|COUNT|TRLBAR|BANG),
230EX(CMD_close, "close", ex_close,
231 BANG|TRLBAR|CMDWIN),
232EX(CMD_cmap, "cmap", ex_map,
233 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
234EX(CMD_cmapclear, "cmapclear", ex_mapclear,
235 EXTRA|TRLBAR|CMDWIN),
236EX(CMD_cmenu, "cmenu", ex_menu,
237 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
238EX(CMD_cnext, "cnext", ex_cnext,
239 RANGE|NOTADR|COUNT|TRLBAR|BANG),
240EX(CMD_cnewer, "cnewer", qf_age,
241 RANGE|NOTADR|COUNT|TRLBAR),
242EX(CMD_cnfile, "cnfile", ex_cnext,
243 RANGE|NOTADR|COUNT|TRLBAR|BANG),
244EX(CMD_cnoremap, "cnoremap", ex_map,
245 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
246EX(CMD_cnoreabbrev, "cnoreabbrev", ex_abbreviate,
247 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
248EX(CMD_cnoremenu, "cnoremenu", ex_menu,
249 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
250EX(CMD_copy, "copy", ex_copymove,
251 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
252EX(CMD_colder, "colder", qf_age,
253 RANGE|NOTADR|COUNT|TRLBAR),
254EX(CMD_colorscheme, "colorscheme", ex_colorscheme,
255 NEEDARG|WORD1|TRLBAR|CMDWIN),
256EX(CMD_command, "command", ex_command,
257 EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN),
258EX(CMD_comclear, "comclear", ex_comclear,
259 TRLBAR|CMDWIN),
260EX(CMD_compiler, "compiler", ex_compiler,
261 BANG|TRLBAR|WORD1),
262EX(CMD_continue, "continue", ex_continue,
263 TRLBAR|SBOXOK|CMDWIN),
264EX(CMD_confirm, "confirm", ex_wrongmodifier,
265 NEEDARG|EXTRA|NOTRLCOM|CMDWIN),
266EX(CMD_copen, "copen", ex_copen,
267 RANGE|NOTADR|COUNT|TRLBAR),
268EX(CMD_cprevious, "cprevious", ex_cnext,
269 RANGE|NOTADR|COUNT|TRLBAR|BANG),
270EX(CMD_cpfile, "cpfile", ex_cnext,
271 RANGE|NOTADR|COUNT|TRLBAR|BANG),
272EX(CMD_cquit, "cquit", ex_cquit,
273 TRLBAR|BANG),
274EX(CMD_crewind, "crewind", ex_cc,
275 RANGE|NOTADR|COUNT|TRLBAR|BANG),
276EX(CMD_cscope, "cscope", do_cscope,
277 EXTRA|NOTRLCOM|SBOXOK|XFILE),
278EX(CMD_cstag, "cstag", do_cstag,
279 BANG|TRLBAR|WORD1),
280EX(CMD_cunmap, "cunmap", ex_unmap,
281 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
282EX(CMD_cunabbrev, "cunabbrev", ex_abbreviate,
283 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
284EX(CMD_cunmenu, "cunmenu", ex_menu,
285 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
286EX(CMD_cwindow, "cwindow", ex_cwindow,
287 RANGE|NOTADR|COUNT|TRLBAR),
288EX(CMD_delete, "delete", ex_operators,
289 RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY),
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000290EX(CMD_delmarks, "delmarks", ex_delmarks,
291 BANG|EXTRA|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000292EX(CMD_debug, "debug", ex_debug,
293 NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
294EX(CMD_debuggreedy, "debuggreedy", ex_debuggreedy,
295 RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN),
296EX(CMD_delcommand, "delcommand", ex_delcommand,
297 NEEDARG|WORD1|TRLBAR|CMDWIN),
298EX(CMD_delfunction, "delfunction", ex_delfunction,
299 NEEDARG|WORD1|CMDWIN),
300EX(CMD_display, "display", ex_display,
301 EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN),
302EX(CMD_diffupdate, "diffupdate", ex_diffupdate,
303 TRLBAR),
304EX(CMD_diffget, "diffget", ex_diffgetput,
305 RANGE|EXTRA|TRLBAR|MODIFY),
Bram Moolenaar2df6dcc2004-07-12 15:53:54 +0000306EX(CMD_diffoff, "diffoff", ex_diffoff,
307 BANG|TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000308EX(CMD_diffpatch, "diffpatch", ex_diffpatch,
309 EXTRA|FILE1|TRLBAR|MODIFY),
310EX(CMD_diffput, "diffput", ex_diffgetput,
311 RANGE|EXTRA|TRLBAR),
312EX(CMD_diffsplit, "diffsplit", ex_diffsplit,
313 EXTRA|FILE1|TRLBAR),
314EX(CMD_diffthis, "diffthis", ex_diffthis,
315 TRLBAR),
316EX(CMD_digraphs, "digraphs", ex_digraphs,
317 EXTRA|TRLBAR|CMDWIN),
318EX(CMD_djump, "djump", ex_findpat,
319 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
320EX(CMD_dlist, "dlist", ex_findpat,
321 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
322EX(CMD_doautocmd, "doautocmd", ex_doautocmd,
323 EXTRA|TRLBAR|CMDWIN),
324EX(CMD_doautoall, "doautoall", ex_doautoall,
325 EXTRA|TRLBAR|CMDWIN),
326EX(CMD_drop, "drop", ex_drop,
327 FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR),
328EX(CMD_dsearch, "dsearch", ex_findpat,
329 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
330EX(CMD_dsplit, "dsplit", ex_findpat,
331 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
332EX(CMD_edit, "edit", ex_edit,
333 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
Bram Moolenaar114216c2006-03-14 23:08:30 +0000334EX(CMD_earlier, "earlier", ex_later,
335 TRLBAR|EXTRA|NOSPC|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000336EX(CMD_echo, "echo", ex_echo,
337 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
338EX(CMD_echoerr, "echoerr", ex_execute,
339 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
340EX(CMD_echohl, "echohl", ex_echohl,
341 EXTRA|TRLBAR|SBOXOK|CMDWIN),
342EX(CMD_echomsg, "echomsg", ex_execute,
343 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
344EX(CMD_echon, "echon", ex_echo,
345 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
346EX(CMD_else, "else", ex_else,
347 TRLBAR|SBOXOK|CMDWIN),
348EX(CMD_elseif, "elseif", ex_else,
349 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
350EX(CMD_emenu, "emenu", ex_emenu,
351 NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN),
352EX(CMD_endif, "endif", ex_endif,
353 TRLBAR|SBOXOK|CMDWIN),
354EX(CMD_endfunction, "endfunction", ex_endfunction,
355 TRLBAR|CMDWIN),
Bram Moolenaar3d60ec22005-01-05 22:19:46 +0000356EX(CMD_endfor, "endfor", ex_endwhile,
357 TRLBAR|SBOXOK|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000358EX(CMD_endtry, "endtry", ex_endtry,
359 TRLBAR|SBOXOK|CMDWIN),
360EX(CMD_endwhile, "endwhile", ex_endwhile,
361 TRLBAR|SBOXOK|CMDWIN),
362EX(CMD_enew, "enew", ex_edit,
363 BANG|TRLBAR),
364EX(CMD_ex, "ex", ex_edit,
365 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
366EX(CMD_execute, "execute", ex_execute,
367 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
368EX(CMD_exit, "exit", ex_exit,
369 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
Bram Moolenaarb5bf5b82004-12-24 14:35:23 +0000370EX(CMD_exusage, "exusage", ex_exusage,
371 TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000372EX(CMD_file, "file", ex_file,
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000373 RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000374EX(CMD_files, "files", buflist_list,
375 BANG|TRLBAR|CMDWIN),
376EX(CMD_filetype, "filetype", ex_filetype,
377 EXTRA|TRLBAR|CMDWIN),
378EX(CMD_find, "find", ex_find,
379 RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
380EX(CMD_finally, "finally", ex_finally,
381 TRLBAR|SBOXOK|CMDWIN),
382EX(CMD_finish, "finish", ex_finish,
383 TRLBAR|SBOXOK|CMDWIN),
384EX(CMD_first, "first", ex_rewind,
385 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
386EX(CMD_fixdel, "fixdel", do_fixdel,
387 TRLBAR|CMDWIN),
388EX(CMD_fold, "fold", ex_fold,
389 RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
390EX(CMD_foldclose, "foldclose", ex_foldopen,
391 RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
392EX(CMD_folddoopen, "folddoopen", ex_folddo,
393 RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),
394EX(CMD_folddoclosed, "folddoclosed", ex_folddo,
395 RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),
396EX(CMD_foldopen, "foldopen", ex_foldopen,
397 RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
Bram Moolenaar3d60ec22005-01-05 22:19:46 +0000398EX(CMD_for, "for", ex_while,
399 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000400EX(CMD_function, "function", ex_function,
401 EXTRA|BANG|CMDWIN),
402EX(CMD_global, "global", ex_global,
Bram Moolenaar4770d092006-01-12 23:22:24 +0000403 RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000404EX(CMD_goto, "goto", ex_goto,
405 RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN),
406EX(CMD_grep, "grep", ex_make,
Bram Moolenaar1f35bf92006-03-07 22:38:47 +0000407 RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000408EX(CMD_grepadd, "grepadd", ex_make,
Bram Moolenaar1f35bf92006-03-07 22:38:47 +0000409 RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000410EX(CMD_gui, "gui", ex_gui,
411 BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),
412EX(CMD_gvim, "gvim", ex_gui,
413 BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),
414EX(CMD_help, "help", ex_help,
415 BANG|EXTRA|NOTRLCOM),
416EX(CMD_helpfind, "helpfind", ex_helpfind,
417 EXTRA|NOTRLCOM),
418EX(CMD_helpgrep, "helpgrep", ex_helpgrep,
419 EXTRA|NOTRLCOM|NEEDARG),
420EX(CMD_helptags, "helptags", ex_helptags,
421 NEEDARG|FILE1|TRLBAR|CMDWIN),
422EX(CMD_hardcopy, "hardcopy", ex_hardcopy,
423 RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG),
424EX(CMD_highlight, "highlight", ex_highlight,
425 BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN),
426EX(CMD_hide, "hide", ex_hide,
427 BANG|EXTRA|NOTRLCOM),
428EX(CMD_history, "history", ex_history,
429 EXTRA|TRLBAR|CMDWIN),
430EX(CMD_insert, "insert", ex_append,
431 BANG|RANGE|TRLBAR|CMDWIN|MODIFY),
432EX(CMD_iabbrev, "iabbrev", ex_abbreviate,
433 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
434EX(CMD_iabclear, "iabclear", ex_abclear,
435 EXTRA|TRLBAR|CMDWIN),
436EX(CMD_if, "if", ex_if,
437 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
438EX(CMD_ijump, "ijump", ex_findpat,
439 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
440EX(CMD_ilist, "ilist", ex_findpat,
441 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
442EX(CMD_imap, "imap", ex_map,
443 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
444EX(CMD_imapclear, "imapclear", ex_mapclear,
445 EXTRA|TRLBAR|CMDWIN),
446EX(CMD_imenu, "imenu", ex_menu,
447 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
448EX(CMD_inoremap, "inoremap", ex_map,
449 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
450EX(CMD_inoreabbrev, "inoreabbrev", ex_abbreviate,
451 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
452EX(CMD_inoremenu, "inoremenu", ex_menu,
453 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
454EX(CMD_intro, "intro", ex_intro,
455 TRLBAR|CMDWIN),
456EX(CMD_isearch, "isearch", ex_findpat,
457 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
458EX(CMD_isplit, "isplit", ex_findpat,
459 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
460EX(CMD_iunmap, "iunmap", ex_unmap,
461 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
462EX(CMD_iunabbrev, "iunabbrev", ex_abbreviate,
463 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
464EX(CMD_iunmenu, "iunmenu", ex_menu,
465 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
466EX(CMD_join, "join", ex_join,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000467 BANG|RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000468EX(CMD_jumps, "jumps", ex_jumps,
469 TRLBAR|CMDWIN),
470EX(CMD_k, "k", ex_mark,
471 RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN),
472EX(CMD_keepmarks, "keepmarks", ex_wrongmodifier,
473 NEEDARG|EXTRA|NOTRLCOM),
474EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier,
475 NEEDARG|EXTRA|NOTRLCOM),
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000476EX(CMD_keepalt, "keepalt", ex_wrongmodifier,
477 NEEDARG|EXTRA|NOTRLCOM),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000478EX(CMD_list, "list", ex_print,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000479 RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000480EX(CMD_lNext, "lNext", ex_cnext,
481 RANGE|NOTADR|COUNT|TRLBAR|BANG),
482EX(CMD_lNfile, "lNfile", ex_cnext,
483 RANGE|NOTADR|COUNT|TRLBAR|BANG),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000484EX(CMD_last, "last", ex_last,
485 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
486EX(CMD_language, "language", ex_language,
487 EXTRA|TRLBAR|CMDWIN),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000488EX(CMD_laddexpr, "laddexpr", ex_cexpr,
489 NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000490EX(CMD_laddbuffer, "laddbuffer", ex_cbuffer,
491 RANGE|NOTADR|WORD1|TRLBAR),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000492EX(CMD_laddfile, "laddfile", ex_cfile,
493 TRLBAR|FILE1),
Bram Moolenaar114216c2006-03-14 23:08:30 +0000494EX(CMD_later, "later", ex_later,
495 TRLBAR|EXTRA|NOSPC|CMDWIN),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000496EX(CMD_lbuffer, "lbuffer", ex_cbuffer,
497 RANGE|NOTADR|WORD1|TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000498EX(CMD_lcd, "lcd", ex_cd,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000499 BANG|FILE1|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000500EX(CMD_lchdir, "lchdir", ex_cd,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000501 BANG|FILE1|TRLBAR|CMDWIN),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000502EX(CMD_lclose, "lclose", ex_cclose,
503 RANGE|NOTADR|COUNT|TRLBAR),
Bram Moolenaarf52c7252006-02-10 23:23:57 +0000504EX(CMD_lcscope, "lcscope", do_cscope,
505 EXTRA|NOTRLCOM|SBOXOK|XFILE),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000506EX(CMD_left, "left", ex_align,
507 TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
508EX(CMD_leftabove, "leftabove", ex_wrongmodifier,
509 NEEDARG|EXTRA|NOTRLCOM),
510EX(CMD_let, "let", ex_let,
511 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000512EX(CMD_lexpr, "lexpr", ex_cexpr,
513 NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),
514EX(CMD_lfile, "lfile", ex_cfile,
515 TRLBAR|FILE1|BANG),
516EX(CMD_lfirst, "lfirst", ex_cc,
517 RANGE|NOTADR|COUNT|TRLBAR|BANG),
518EX(CMD_lgetfile, "lgetfile", ex_cfile,
519 TRLBAR|FILE1|BANG),
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000520EX(CMD_lgrep, "lgrep", ex_make,
Bram Moolenaar1f35bf92006-03-07 22:38:47 +0000521 RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000522EX(CMD_lgrepadd, "lgrepadd", ex_make,
Bram Moolenaar1f35bf92006-03-07 22:38:47 +0000523 RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaar8b6144b2006-02-08 09:20:24 +0000524EX(CMD_lhelpgrep, "lhelpgrep", ex_helpgrep,
525 EXTRA|NOTRLCOM|NEEDARG),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000526EX(CMD_ll, "ll", ex_cc,
527 RANGE|NOTADR|COUNT|TRLBAR|BANG),
528EX(CMD_llast, "llast", ex_cc,
529 RANGE|NOTADR|COUNT|TRLBAR|BANG),
530EX(CMD_llist, "llist", qf_list,
531 BANG|EXTRA|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000532EX(CMD_lmap, "lmap", ex_map,
533 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
534EX(CMD_lmapclear, "lmapclear", ex_mapclear,
535 EXTRA|TRLBAR|CMDWIN),
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000536EX(CMD_lmake, "lmake", ex_make,
537 BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000538EX(CMD_lnoremap, "lnoremap", ex_map,
539 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000540EX(CMD_lnext, "lnext", ex_cnext,
541 RANGE|NOTADR|COUNT|TRLBAR|BANG),
542EX(CMD_lnewer, "lnewer", qf_age,
543 RANGE|NOTADR|COUNT|TRLBAR),
544EX(CMD_lnfile, "lnfile", ex_cnext,
545 RANGE|NOTADR|COUNT|TRLBAR|BANG),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000546EX(CMD_loadview, "loadview", ex_loadview,
547 FILE1|TRLBAR),
548EX(CMD_loadkeymap, "loadkeymap", ex_loadkeymap,
549 CMDWIN),
550EX(CMD_lockmarks, "lockmarks", ex_wrongmodifier,
551 NEEDARG|EXTRA|NOTRLCOM),
Bram Moolenaar2e6aff32005-01-31 19:25:36 +0000552EX(CMD_lockvar, "lockvar", ex_lockvar,
553 BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000554EX(CMD_lolder, "lolder", qf_age,
555 RANGE|NOTADR|COUNT|TRLBAR),
556EX(CMD_lopen, "lopen", ex_copen,
557 RANGE|NOTADR|COUNT|TRLBAR),
558EX(CMD_lprevious, "lprevious", ex_cnext,
559 RANGE|NOTADR|COUNT|TRLBAR|BANG),
560EX(CMD_lpfile, "lpfile", ex_cnext,
561 RANGE|NOTADR|COUNT|TRLBAR|BANG),
562EX(CMD_lrewind, "lrewind", ex_cc,
563 RANGE|NOTADR|COUNT|TRLBAR|BANG),
Bram Moolenaar1ef15e32006-02-01 21:56:25 +0000564EX(CMD_ltag, "ltag", ex_tag,
565 NOTADR|TRLBAR|BANG|WORD1),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000566EX(CMD_lunmap, "lunmap", ex_unmap,
567 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000568EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep,
Bram Moolenaar1f35bf92006-03-07 22:38:47 +0000569 RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaar9f2c6e12006-02-04 22:45:44 +0000570EX(CMD_lvimgrepadd, "lvimgrepadd", ex_vimgrep,
Bram Moolenaar1f35bf92006-03-07 22:38:47 +0000571 RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaard12f5c12006-01-25 22:10:52 +0000572EX(CMD_lwindow, "lwindow", ex_cwindow,
573 RANGE|NOTADR|COUNT|TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000574EX(CMD_ls, "ls", buflist_list,
575 BANG|TRLBAR|CMDWIN),
576EX(CMD_move, "move", ex_copymove,
577 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
578EX(CMD_mark, "mark", ex_mark,
579 RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN),
580EX(CMD_make, "make", ex_make,
581 BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
582EX(CMD_map, "map", ex_map,
583 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
584EX(CMD_mapclear, "mapclear", ex_mapclear,
585 EXTRA|BANG|TRLBAR|CMDWIN),
586EX(CMD_marks, "marks", do_marks,
587 EXTRA|TRLBAR|CMDWIN),
588EX(CMD_match, "match", ex_match,
Bram Moolenaar261bfea2006-03-01 22:12:31 +0000589 RANGE|NOTADR|EXTRA|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000590EX(CMD_menu, "menu", ex_menu,
591 RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
592EX(CMD_menutranslate, "menutranslate", ex_menutranslate,
593 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
594EX(CMD_messages, "messages", ex_messages,
595 TRLBAR|CMDWIN),
596EX(CMD_mkexrc, "mkexrc", ex_mkrc,
597 BANG|FILE1|TRLBAR|CMDWIN),
598EX(CMD_mksession, "mksession", ex_mkrc,
599 BANG|FILE1|TRLBAR),
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000600EX(CMD_mkspell, "mkspell", ex_mkspell,
601 BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000602EX(CMD_mkvimrc, "mkvimrc", ex_mkrc,
603 BANG|FILE1|TRLBAR|CMDWIN),
604EX(CMD_mkview, "mkview", ex_mkrc,
605 BANG|FILE1|TRLBAR),
606EX(CMD_mode, "mode", ex_mode,
607 WORD1|TRLBAR|CMDWIN),
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000608EX(CMD_mzscheme, "mzscheme", ex_mzscheme,
Bram Moolenaar555b2802005-05-19 21:08:39 +0000609 RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK),
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000610EX(CMD_mzfile, "mzfile", ex_mzfile,
611 RANGE|FILE1|NEEDARG|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000612EX(CMD_next, "next", ex_next,
613 RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
Bram Moolenaar35a9aaa2004-10-24 19:23:07 +0000614EX(CMD_nbkey, "nbkey", ex_nbkey,
615 EXTRA|NOTADR|NEEDARG),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000616EX(CMD_new, "new", ex_splitview,
617 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
618EX(CMD_nmap, "nmap", ex_map,
619 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
620EX(CMD_nmapclear, "nmapclear", ex_mapclear,
621 EXTRA|TRLBAR|CMDWIN),
622EX(CMD_nmenu, "nmenu", ex_menu,
623 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
624EX(CMD_nnoremap, "nnoremap", ex_map,
625 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
626EX(CMD_nnoremenu, "nnoremenu", ex_menu,
627 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
628EX(CMD_noremap, "noremap", ex_map,
629 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
630EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch,
631 TRLBAR|SBOXOK|CMDWIN),
632EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate,
633 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
634EX(CMD_noremenu, "noremenu", ex_menu,
635 RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
636EX(CMD_normal, "normal", ex_normal,
637 RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN),
638EX(CMD_number, "number", ex_print,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000639 RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000640EX(CMD_nunmap, "nunmap", ex_unmap,
641 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
642EX(CMD_nunmenu, "nunmenu", ex_menu,
643 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000644EX(CMD_open, "open", ex_open,
645 RANGE|EXTRA),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000646EX(CMD_omap, "omap", ex_map,
647 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
648EX(CMD_omapclear, "omapclear", ex_mapclear,
649 EXTRA|TRLBAR|CMDWIN),
650EX(CMD_omenu, "omenu", ex_menu,
651 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
652EX(CMD_only, "only", ex_only,
653 BANG|TRLBAR),
654EX(CMD_onoremap, "onoremap", ex_map,
655 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
656EX(CMD_onoremenu, "onoremenu", ex_menu,
657 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
658EX(CMD_options, "options", ex_options,
659 TRLBAR),
660EX(CMD_ounmap, "ounmap", ex_unmap,
661 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
662EX(CMD_ounmenu, "ounmenu", ex_menu,
663 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
664EX(CMD_print, "print", ex_print,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +0000665 RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|SBOXOK),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000666EX(CMD_pclose, "pclose", ex_pclose,
667 BANG|TRLBAR),
668EX(CMD_perl, "perl", ex_perl,
669 RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK|CMDWIN),
670EX(CMD_perldo, "perldo", ex_perldo,
671 RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN),
672EX(CMD_pedit, "pedit", ex_pedit,
673 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
674EX(CMD_pop, "pop", ex_tag,
675 RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
676EX(CMD_popup, "popup", ex_popup,
Bram Moolenaar51bab742005-07-08 22:31:03 +0000677 NEEDARG|EXTRA|BANG|TRLBAR|NOTRLCOM|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000678EX(CMD_ppop, "ppop", ex_ptag,
679 RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
680EX(CMD_preserve, "preserve", ex_preserve,
681 TRLBAR),
682EX(CMD_previous, "previous", ex_previous,
683 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
684EX(CMD_promptfind, "promptfind", gui_mch_find_dialog,
685 EXTRA|NOTRLCOM|CMDWIN),
686EX(CMD_promptrepl, "promptrepl", gui_mch_replace_dialog,
687 EXTRA|NOTRLCOM|CMDWIN),
Bram Moolenaar05159a02005-02-26 23:04:13 +0000688EX(CMD_profile, "profile", ex_profile,
689 BANG|EXTRA|TRLBAR|CMDWIN),
Bram Moolenaard9fba312005-06-26 22:34:35 +0000690EX(CMD_profdel, "profdel", ex_breakdel,
691 EXTRA|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000692EX(CMD_psearch, "psearch", ex_psearch,
693 BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA),
694EX(CMD_ptag, "ptag", ex_ptag,
695 RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
696EX(CMD_ptNext, "ptNext", ex_ptag,
697 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
698EX(CMD_ptfirst, "ptfirst", ex_ptag,
699 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
700EX(CMD_ptjump, "ptjump", ex_ptag,
701 BANG|TRLBAR|WORD1),
702EX(CMD_ptlast, "ptlast", ex_ptag,
703 BANG|TRLBAR),
704EX(CMD_ptnext, "ptnext", ex_ptag,
705 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
706EX(CMD_ptprevious, "ptprevious", ex_ptag,
707 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
708EX(CMD_ptrewind, "ptrewind", ex_ptag,
709 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
710EX(CMD_ptselect, "ptselect", ex_ptag,
711 BANG|TRLBAR|WORD1),
712EX(CMD_put, "put", ex_put,
713 RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY),
714EX(CMD_pwd, "pwd", ex_pwd,
715 TRLBAR|CMDWIN),
716EX(CMD_python, "python", ex_python,
717 RANGE|EXTRA|NEEDARG|CMDWIN),
718EX(CMD_pyfile, "pyfile", ex_pyfile,
719 RANGE|FILE1|NEEDARG|CMDWIN),
720EX(CMD_quit, "quit", ex_quit,
721 BANG|TRLBAR|CMDWIN),
722EX(CMD_quitall, "quitall", ex_quit_all,
723 BANG|TRLBAR),
724EX(CMD_qall, "qall", ex_quit_all,
725 BANG|TRLBAR|CMDWIN),
726EX(CMD_read, "read", ex_read,
727 BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY),
728EX(CMD_recover, "recover", ex_recover,
729 BANG|FILE1|TRLBAR),
730EX(CMD_redo, "redo", ex_redo,
731 TRLBAR|CMDWIN),
732EX(CMD_redir, "redir", ex_redir,
733 BANG|FILES|TRLBAR|CMDWIN),
734EX(CMD_redraw, "redraw", ex_redraw,
735 BANG|TRLBAR|CMDWIN),
736EX(CMD_redrawstatus, "redrawstatus", ex_redrawstatus,
737 BANG|TRLBAR|CMDWIN),
738EX(CMD_registers, "registers", ex_display,
739 EXTRA|NOTRLCOM|TRLBAR|CMDWIN),
740EX(CMD_resize, "resize", ex_resize,
741 RANGE|NOTADR|TRLBAR|WORD1),
742EX(CMD_retab, "retab", ex_retab,
743 TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY),
744EX(CMD_return, "return", ex_return,
745 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
746EX(CMD_rewind, "rewind", ex_rewind,
747 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
748EX(CMD_right, "right", ex_align,
749 TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
750EX(CMD_rightbelow, "rightbelow", ex_wrongmodifier,
751 NEEDARG|EXTRA|NOTRLCOM),
752EX(CMD_runtime, "runtime", ex_runtime,
753 BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN),
754EX(CMD_ruby, "ruby", ex_ruby,
755 RANGE|EXTRA|NEEDARG|CMDWIN),
756EX(CMD_rubydo, "rubydo", ex_rubydo,
757 RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
758EX(CMD_rubyfile, "rubyfile", ex_rubyfile,
759 RANGE|FILE1|NEEDARG|CMDWIN),
760EX(CMD_rviminfo, "rviminfo", ex_viminfo,
761 BANG|FILE1|TRLBAR|CMDWIN),
762EX(CMD_substitute, "substitute", do_sub,
763 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
764EX(CMD_sNext, "sNext", ex_previous,
765 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
766EX(CMD_sargument, "sargument", ex_argument,
767 BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
768EX(CMD_sall, "sall", ex_all,
769 RANGE|NOTADR|COUNT|TRLBAR),
Bram Moolenaar7b0294c2004-10-11 10:16:09 +0000770EX(CMD_sandbox, "sandbox", ex_wrongmodifier,
771 NEEDARG|EXTRA|NOTRLCOM),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000772EX(CMD_saveas, "saveas", ex_write,
773 BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR),
774EX(CMD_sbuffer, "sbuffer", ex_buffer,
775 BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
776EX(CMD_sbNext, "sbNext", ex_bprevious,
777 RANGE|NOTADR|COUNT|TRLBAR),
778EX(CMD_sball, "sball", ex_buffer_all,
779 RANGE|NOTADR|COUNT|TRLBAR),
780EX(CMD_sbfirst, "sbfirst", ex_brewind,
781 TRLBAR),
782EX(CMD_sblast, "sblast", ex_blast,
783 TRLBAR),
784EX(CMD_sbmodified, "sbmodified", ex_bmodified,
785 RANGE|NOTADR|COUNT|TRLBAR),
786EX(CMD_sbnext, "sbnext", ex_bnext,
787 RANGE|NOTADR|COUNT|TRLBAR),
788EX(CMD_sbprevious, "sbprevious", ex_bprevious,
789 RANGE|NOTADR|COUNT|TRLBAR),
790EX(CMD_sbrewind, "sbrewind", ex_brewind,
791 TRLBAR),
792EX(CMD_scriptnames, "scriptnames", ex_scriptnames,
793 TRLBAR|CMDWIN),
794EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding,
795 WORD1|TRLBAR|CMDWIN),
796EX(CMD_scscope, "scscope", do_scscope,
797 EXTRA|NOTRLCOM|SBOXOK),
798EX(CMD_set, "set", ex_set,
799 TRLBAR|EXTRA|CMDWIN|SBOXOK),
800EX(CMD_setfiletype, "setfiletype", ex_setfiletype,
801 TRLBAR|EXTRA|NEEDARG|CMDWIN),
802EX(CMD_setglobal, "setglobal", ex_set,
803 TRLBAR|EXTRA|CMDWIN),
804EX(CMD_setlocal, "setlocal", ex_set,
805 TRLBAR|EXTRA|CMDWIN),
806EX(CMD_sfind, "sfind", ex_splitview,
807 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
808EX(CMD_sfirst, "sfirst", ex_rewind,
809 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
810EX(CMD_shell, "shell", ex_shell,
811 TRLBAR|CMDWIN),
812EX(CMD_simalt, "simalt", ex_simalt,
813 NEEDARG|WORD1|TRLBAR|CMDWIN),
814EX(CMD_sign, "sign", ex_sign,
815 NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN),
816EX(CMD_silent, "silent", ex_wrongmodifier,
817 NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN),
818EX(CMD_sleep, "sleep", ex_sleep,
819 RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN),
820EX(CMD_slast, "slast", ex_last,
821 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
822EX(CMD_smagic, "smagic", ex_submagic,
823 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
824EX(CMD_snext, "snext", ex_next,
825 RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
826EX(CMD_sniff, "sniff", ex_sniff,
827 EXTRA|TRLBAR),
828EX(CMD_snomagic, "snomagic", ex_submagic,
829 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
830EX(CMD_source, "source", ex_source,
831 BANG|FILE1|TRLBAR|SBOXOK|CMDWIN),
Bram Moolenaar67fe1a12005-05-22 22:12:58 +0000832EX(CMD_sort, "sort", ex_sort,
833 RANGE|DFLALL|WHOLEFOLD|BANG|EXTRA|NOTRLCOM|MODIFY),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000834EX(CMD_split, "split", ex_splitview,
835 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
Bram Moolenaar0e4d8772005-06-07 21:12:49 +0000836EX(CMD_spellgood, "spellgood", ex_spell,
Bram Moolenaar51ac12f2005-07-02 23:21:11 +0000837 BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR),
Bram Moolenaarc4def132005-06-23 22:39:27 +0000838EX(CMD_spelldump, "spelldump", ex_spelldump,
Bram Moolenaar4770d092006-01-12 23:22:24 +0000839 BANG|TRLBAR),
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000840EX(CMD_spellinfo, "spellinfo", ex_spellinfo,
841 TRLBAR),
Bram Moolenaar24bbcfe2005-06-28 23:32:02 +0000842EX(CMD_spellrepall, "spellrepall", ex_spellrepall,
843 TRLBAR),
Bram Moolenaar768b8c42006-03-04 21:58:33 +0000844EX(CMD_spellundo, "spellundo", ex_spell,
845 BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR),
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000846EX(CMD_spellwrong, "spellwrong", ex_spell,
847 BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000848EX(CMD_sprevious, "sprevious", ex_previous,
849 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
850EX(CMD_srewind, "srewind", ex_rewind,
851 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
852EX(CMD_stop, "stop", ex_stop,
853 TRLBAR|BANG|CMDWIN),
854EX(CMD_stag, "stag", ex_stag,
855 RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
856EX(CMD_startinsert, "startinsert", ex_startinsert,
857 BANG|TRLBAR|CMDWIN),
Bram Moolenaarbca84a12005-12-14 22:08:35 +0000858EX(CMD_startgreplace, "startgreplace", ex_startinsert,
859 BANG|TRLBAR|CMDWIN),
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000860EX(CMD_startreplace, "startreplace", ex_startinsert,
861 BANG|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000862EX(CMD_stopinsert, "stopinsert", ex_stopinsert,
863 BANG|TRLBAR|CMDWIN),
864EX(CMD_stjump, "stjump", ex_stag,
865 BANG|TRLBAR|WORD1),
866EX(CMD_stselect, "stselect", ex_stag,
867 BANG|TRLBAR|WORD1),
868EX(CMD_sunhide, "sunhide", ex_buffer_all,
869 RANGE|NOTADR|COUNT|TRLBAR),
870EX(CMD_suspend, "suspend", ex_stop,
871 TRLBAR|BANG|CMDWIN),
872EX(CMD_sview, "sview", ex_splitview,
873 NEEDARG|RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
874EX(CMD_swapname, "swapname", ex_swapname,
875 TRLBAR|CMDWIN),
876EX(CMD_syntax, "syntax", ex_syntax,
877 EXTRA|NOTRLCOM|CMDWIN),
878EX(CMD_syncbind, "syncbind", ex_syncbind,
879 TRLBAR),
880EX(CMD_t, "t", ex_copymove,
881 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
882EX(CMD_tNext, "tNext", ex_tag,
883 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
884EX(CMD_tag, "tag", ex_tag,
885 RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
886EX(CMD_tags, "tags", do_tags,
887 TRLBAR|CMDWIN),
Bram Moolenaar2a3f7ee2006-02-23 21:34:44 +0000888EX(CMD_tab, "tab", ex_wrongmodifier,
889 NEEDARG|EXTRA|NOTRLCOM),
Bram Moolenaar1d2ba7f2006-02-14 22:29:30 +0000890EX(CMD_tabclose, "tabclose", ex_tabclose,
Bram Moolenaar997fb4b2006-02-17 21:53:23 +0000891 RANGE|NOTADR|COUNT|BANG|TRLBAR|CMDWIN),
Bram Moolenaar32466aa2006-02-24 23:53:04 +0000892EX(CMD_tabdo, "tabdo", ex_listdo,
893 NEEDARG|EXTRA|NOTRLCOM),
Bram Moolenaarfaa959a2006-02-20 21:37:40 +0000894EX(CMD_tabedit, "tabedit", ex_splitview,
Bram Moolenaar1d2ba7f2006-02-14 22:29:30 +0000895 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
Bram Moolenaarfaa959a2006-02-20 21:37:40 +0000896EX(CMD_tabfind, "tabfind", ex_splitview,
Bram Moolenaar7e8fd632006-02-18 22:14:51 +0000897 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|NEEDARG|TRLBAR),
Bram Moolenaar32466aa2006-02-24 23:53:04 +0000898EX(CMD_tabfirst, "tabfirst", ex_tabnext,
899 TRLBAR),
Bram Moolenaar2a3f7ee2006-02-23 21:34:44 +0000900EX(CMD_tabmove, "tabmove", ex_tabmove,
901 RANGE|NOTADR|COUNT|TRLBAR|ZEROR),
Bram Moolenaar32466aa2006-02-24 23:53:04 +0000902EX(CMD_tablast, "tablast", ex_tabnext,
903 TRLBAR),
Bram Moolenaar2a3f7ee2006-02-23 21:34:44 +0000904EX(CMD_tabnext, "tabnext", ex_tabnext,
905 RANGE|NOTADR|COUNT|TRLBAR),
Bram Moolenaarfaa959a2006-02-20 21:37:40 +0000906EX(CMD_tabnew, "tabnew", ex_splitview,
Bram Moolenaar1d2ba7f2006-02-14 22:29:30 +0000907 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
Bram Moolenaar997fb4b2006-02-17 21:53:23 +0000908EX(CMD_tabonly, "tabonly", ex_tabonly,
Bram Moolenaarcf034472006-03-15 23:07:59 +0000909 BANG|TRLBAR|CMDWIN),
Bram Moolenaar32466aa2006-02-24 23:53:04 +0000910EX(CMD_tabprevious, "tabprevious", ex_tabnext,
Bram Moolenaar2a3f7ee2006-02-23 21:34:44 +0000911 RANGE|NOTADR|COUNT|TRLBAR),
Bram Moolenaar32466aa2006-02-24 23:53:04 +0000912EX(CMD_tabNext, "tabNext", ex_tabnext,
Bram Moolenaar2a3f7ee2006-02-23 21:34:44 +0000913 RANGE|NOTADR|COUNT|TRLBAR),
Bram Moolenaar32466aa2006-02-24 23:53:04 +0000914EX(CMD_tabrewind, "tabrewind", ex_tabnext,
915 TRLBAR),
Bram Moolenaar1d2ba7f2006-02-14 22:29:30 +0000916EX(CMD_tabs, "tabs", ex_tabs,
917 TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000918EX(CMD_tcl, "tcl", ex_tcl,
919 RANGE|EXTRA|NEEDARG|CMDWIN),
920EX(CMD_tcldo, "tcldo", ex_tcldo,
921 RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
922EX(CMD_tclfile, "tclfile", ex_tclfile,
923 RANGE|FILE1|NEEDARG|CMDWIN),
924EX(CMD_tearoff, "tearoff", ex_tearoff,
925 NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN),
926EX(CMD_tfirst, "tfirst", ex_tag,
927 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
928EX(CMD_throw, "throw", ex_throw,
929 EXTRA|NEEDARG|SBOXOK|CMDWIN),
930EX(CMD_tjump, "tjump", ex_tag,
931 BANG|TRLBAR|WORD1),
932EX(CMD_tlast, "tlast", ex_tag,
933 BANG|TRLBAR),
934EX(CMD_tmenu, "tmenu", ex_menu,
935 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
936EX(CMD_tnext, "tnext", ex_tag,
937 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
938EX(CMD_topleft, "topleft", ex_wrongmodifier,
939 NEEDARG|EXTRA|NOTRLCOM),
940EX(CMD_tprevious, "tprevious", ex_tag,
941 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
942EX(CMD_trewind, "trewind", ex_tag,
943 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
944EX(CMD_try, "try", ex_try,
945 TRLBAR|SBOXOK|CMDWIN),
946EX(CMD_tselect, "tselect", ex_tag,
947 BANG|TRLBAR|WORD1),
948EX(CMD_tunmenu, "tunmenu", ex_menu,
949 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
950EX(CMD_undo, "undo", ex_undo,
951 TRLBAR|CMDWIN),
Bram Moolenaare224ffa2006-03-01 00:01:28 +0000952EX(CMD_undojoin, "undojoin", ex_undojoin,
953 TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000954EX(CMD_unabbreviate, "unabbreviate", ex_abbreviate,
955 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
956EX(CMD_unhide, "unhide", ex_buffer_all,
957 RANGE|NOTADR|COUNT|TRLBAR),
958EX(CMD_unlet, "unlet", ex_unlet,
959 BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
Bram Moolenaar2e6aff32005-01-31 19:25:36 +0000960EX(CMD_unlockvar, "unlockvar", ex_lockvar,
961 BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000962EX(CMD_unmap, "unmap", ex_unmap,
963 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
964EX(CMD_unmenu, "unmenu", ex_menu,
965 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
966EX(CMD_update, "update", ex_update,
967 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
968EX(CMD_vglobal, "vglobal", ex_global,
969 RANGE|WHOLEFOLD|EXTRA|DFLALL|CMDWIN),
970EX(CMD_version, "version", ex_version,
971 EXTRA|TRLBAR|CMDWIN),
972EX(CMD_verbose, "verbose", ex_wrongmodifier,
973 NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
974EX(CMD_vertical, "vertical", ex_wrongmodifier,
975 NEEDARG|EXTRA|NOTRLCOM),
976EX(CMD_visual, "visual", ex_edit,
977 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
978EX(CMD_view, "view", ex_edit,
979 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
Bram Moolenaar86b68352004-12-27 21:59:20 +0000980EX(CMD_vimgrep, "vimgrep", ex_vimgrep,
Bram Moolenaar1f35bf92006-03-07 22:38:47 +0000981 RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaar86b68352004-12-27 21:59:20 +0000982EX(CMD_vimgrepadd, "vimgrepadd", ex_vimgrep,
Bram Moolenaar1f35bf92006-03-07 22:38:47 +0000983 RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
Bram Moolenaarb5bf5b82004-12-24 14:35:23 +0000984EX(CMD_viusage, "viusage", ex_viusage,
985 TRLBAR),
Bram Moolenaar071d4272004-06-13 20:20:40 +0000986EX(CMD_vmap, "vmap", ex_map,
987 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
988EX(CMD_vmapclear, "vmapclear", ex_mapclear,
989 EXTRA|TRLBAR|CMDWIN),
990EX(CMD_vmenu, "vmenu", ex_menu,
991 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
992EX(CMD_vnoremap, "vnoremap", ex_map,
993 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
994EX(CMD_vnew, "vnew", ex_splitview,
995 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
996EX(CMD_vnoremenu, "vnoremenu", ex_menu,
997 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
998EX(CMD_vsplit, "vsplit", ex_splitview,
999 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
1000EX(CMD_vunmap, "vunmap", ex_unmap,
1001 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
1002EX(CMD_vunmenu, "vunmenu", ex_menu,
1003 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
1004EX(CMD_write, "write", ex_write,
1005 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
1006EX(CMD_wNext, "wNext", ex_wnext,
1007 RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
1008EX(CMD_wall, "wall", do_wqall,
1009 BANG|TRLBAR|CMDWIN),
1010EX(CMD_while, "while", ex_while,
1011 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
1012EX(CMD_winsize, "winsize", ex_winsize,
1013 EXTRA|NEEDARG|TRLBAR),
1014EX(CMD_wincmd, "wincmd", ex_wincmd,
1015 NEEDARG|WORD1|RANGE|NOTADR),
1016EX(CMD_windo, "windo", ex_listdo,
1017 BANG|NEEDARG|EXTRA|NOTRLCOM),
1018EX(CMD_winpos, "winpos", ex_winpos,
1019 EXTRA|TRLBAR|CMDWIN),
1020EX(CMD_wnext, "wnext", ex_wnext,
1021 RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
1022EX(CMD_wprevious, "wprevious", ex_wnext,
1023 RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
1024EX(CMD_wq, "wq", ex_exit,
1025 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
1026EX(CMD_wqall, "wqall", do_wqall,
1027 BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
1028EX(CMD_wsverb, "wsverb", ex_wsverb,
1029 EXTRA|NOTADR|NEEDARG),
1030EX(CMD_wviminfo, "wviminfo", ex_viminfo,
1031 BANG|FILE1|TRLBAR|CMDWIN),
1032EX(CMD_xit, "xit", ex_exit,
1033 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
1034EX(CMD_xall, "xall", do_wqall,
1035 BANG|TRLBAR),
1036EX(CMD_yank, "yank", ex_operators,
1037 RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN),
1038EX(CMD_z, "z", ex_z,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001039 RANGE|WHOLEFOLD|EXTRA|EXFLAGS|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +00001040
1041/* commands that don't start with a lowercase letter */
1042EX(CMD_bang, "!", ex_bang,
1043 RANGE|WHOLEFOLD|BANG|FILES|CMDWIN),
1044EX(CMD_pound, "#", ex_print,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001045 RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +00001046EX(CMD_and, "&", do_sub,
1047 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
1048EX(CMD_star, "*", ex_at,
1049 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN),
1050EX(CMD_lshift, "<", ex_operators,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001051 RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),
Bram Moolenaar071d4272004-06-13 20:20:40 +00001052EX(CMD_equal, "=", ex_equal,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001053 RANGE|TRLBAR|DFLALL|EXFLAGS|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +00001054EX(CMD_rshift, ">", ex_operators,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001055 RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),
Bram Moolenaar071d4272004-06-13 20:20:40 +00001056EX(CMD_at, "@", ex_at,
1057 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN),
1058EX(CMD_Next, "Next", ex_previous,
1059 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
1060EX(CMD_Print, "Print", ex_print,
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001061 RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
Bram Moolenaar071d4272004-06-13 20:20:40 +00001062EX(CMD_X, "X", ex_X,
1063 TRLBAR),
1064EX(CMD_tilde, "~", do_sub,
1065 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
1066
1067#ifndef DO_DECLARE_EXCMD
1068#ifdef FEAT_USR_CMDS
1069 CMD_SIZE, /* MUST be after all real commands! */
1070 CMD_USER = -1, /* User-defined command */
1071 CMD_USER_BUF = -2 /* User-defined command local to buffer */
1072#else
1073 CMD_SIZE /* MUST be the last one! */
1074#endif
1075#endif
1076};
1077
1078#define USER_CMDIDX(idx) ((int)(idx) < 0)
1079
1080#ifndef DO_DECLARE_EXCMD
1081typedef enum CMD_index cmdidx_T;
1082
1083/*
1084 * Arguments used for Ex commands.
1085 */
1086struct exarg
1087{
1088 char_u *arg; /* argument of the command */
1089 char_u *nextcmd; /* next command (NULL if none) */
1090 char_u *cmd; /* the name of the command (except for :make) */
1091 char_u **cmdlinep; /* pointer to pointer of allocated cmdline */
1092 cmdidx_T cmdidx; /* the index for the command */
1093 long argt; /* flags for the command */
1094 int skip; /* don't execute the command, only parse it */
1095 int forceit; /* TRUE if ! present */
1096 int addr_count; /* the number of addresses given */
1097 linenr_T line1; /* the first line number */
1098 linenr_T line2; /* the second line number or count */
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001099 int flags; /* extra flags after count: EXFLAG_ */
Bram Moolenaar071d4272004-06-13 20:20:40 +00001100 char_u *do_ecmd_cmd; /* +command arg to be used in edited file */
1101 linenr_T do_ecmd_lnum; /* the line number in an edited file */
1102 int append; /* TRUE with ":w >>file" command */
1103 int usefilter; /* TRUE with ":w !command" and ":r!command" */
1104 int amount; /* number of '>' or '<' for shift command */
1105 int regname; /* register name (NUL if none) */
1106 int force_bin; /* 0, FORCE_BIN or FORCE_NOBIN */
Bram Moolenaarb2c2efa2005-12-13 20:09:08 +00001107 int force_ff; /* ++ff= argument (index in cmd[]) */
Bram Moolenaar071d4272004-06-13 20:20:40 +00001108#ifdef FEAT_MBYTE
Bram Moolenaarb2c2efa2005-12-13 20:09:08 +00001109 int force_enc; /* ++enc= argument (index in cmd[]) */
1110 int bad_char; /* ++bad= argument (index in cmd[]) */
Bram Moolenaar071d4272004-06-13 20:20:40 +00001111#endif
1112#ifdef FEAT_USR_CMDS
1113 int useridx; /* user command index */
1114#endif
1115 char_u *errmsg; /* returned error message */
1116 char_u *(*getline) __ARGS((int, void *, int));
1117 void *cookie; /* argument for getline() */
1118#ifdef FEAT_EVAL
1119 struct condstack *cstack; /* condition stack for ":if" etc. */
1120#endif
1121};
1122
1123#define FORCE_BIN 1 /* ":edit ++bin file" */
1124#define FORCE_NOBIN 2 /* ":edit ++nobin file" */
1125
Bram Moolenaar5313dcb2005-02-22 08:56:13 +00001126/* Values for "flags" */
1127#define EXFLAG_LIST 0x01 /* 'l': list */
1128#define EXFLAG_NR 0x02 /* '#': number */
1129#define EXFLAG_PRINT 0x04 /* 'p': print */
1130
Bram Moolenaar071d4272004-06-13 20:20:40 +00001131#endif