1 /* 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 */ 56 #define FILES (XFILE | EXTRA) /* multiple extra files allowed */ 57 #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */ 58 #define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */ 59 60 #ifndef DO_DECLARE_EXCMD 61 typedef struct exarg exarg_T; 62 #endif 63 64 /* 65 * This array maps ex command names to command codes. 66 * The order in which command names are listed below is significant -- 67 * ambiguous abbreviations are always resolved to be the first possible match 68 * (e.g. "r" is taken to mean "read", not "rewind", because "read" comes 69 * before "rewind"). 70 * Not supported commands are included to avoid ambiguities. 71 */ 72 #ifdef EX 73 # undef EX /* just in case */ 74 #endif 75 #ifdef DO_DECLARE_EXCMD 76 # define EX(a, b, c, d) {(char_u *)b, c, d} 77 78 typedef void (*ex_func_T) __ARGS((exarg_T *eap)); 79 80 static struct cmdname 81 { 82 char_u *cmd_name; /* name of the command */ 83 ex_func_T cmd_func; /* function for this command */ 84 long_u cmd_argt; /* flags declared above */ 85 } 86 # if defined(FEAT_GUI_W16) 87 _far 88 # endif 89 cmdnames[] = 90 #else 91 # define EX(a, b, c, d) a 92 enum CMD_index 93 #endif 94 { 95 EX(CMD_append, "append", ex_append, 96 BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY), 97 EX(CMD_abbreviate, "abbreviate", ex_abbreviate, 98 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 99 EX(CMD_abclear, "abclear", ex_abclear, 100 EXTRA|TRLBAR|CMDWIN), 101 EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier, 102 NEEDARG|EXTRA|NOTRLCOM), 103 EX(CMD_all, "all", ex_all, 104 RANGE|NOTADR|COUNT|TRLBAR), 105 EX(CMD_amenu, "amenu", ex_menu, 106 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 107 EX(CMD_anoremenu, "anoremenu", ex_menu, 108 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 109 EX(CMD_args, "args", ex_args, 110 BANG|FILES|EDITCMD|ARGOPT|TRLBAR), 111 EX(CMD_argadd, "argadd", ex_argadd, 112 BANG|NEEDARG|RANGE|NOTADR|ZEROR|COUNT|FILES|TRLBAR), 113 EX(CMD_argdelete, "argdelete", ex_argdelete, 114 BANG|RANGE|NOTADR|COUNT|FILES|TRLBAR), 115 EX(CMD_argdo, "argdo", ex_listdo, 116 BANG|NEEDARG|EXTRA|NOTRLCOM), 117 EX(CMD_argedit, "argedit", ex_argedit, 118 BANG|NEEDARG|RANGE|NOTADR|COUNT|FILE1|EDITCMD|TRLBAR), 119 EX(CMD_argglobal, "argglobal", ex_args, 120 BANG|FILES|EDITCMD|ARGOPT|TRLBAR), 121 EX(CMD_arglocal, "arglocal", ex_args, 122 BANG|FILES|EDITCMD|ARGOPT|TRLBAR), 123 EX(CMD_argument, "argument", ex_argument, 124 BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR), 125 EX(CMD_ascii, "ascii", do_ascii, 126 TRLBAR|SBOXOK|CMDWIN), 127 EX(CMD_autocmd, "autocmd", ex_autocmd, 128 BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN), 129 EX(CMD_augroup, "augroup", ex_autocmd, 130 BANG|WORD1|TRLBAR|CMDWIN), 131 EX(CMD_aunmenu, "aunmenu", ex_menu, 132 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 133 EX(CMD_buffer, "buffer", ex_buffer, 134 BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR), 135 EX(CMD_bNext, "bNext", ex_bprevious, 136 BANG|RANGE|NOTADR|COUNT|TRLBAR), 137 EX(CMD_ball, "ball", ex_buffer_all, 138 RANGE|NOTADR|COUNT|TRLBAR), 139 EX(CMD_badd, "badd", ex_edit, 140 NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN), 141 EX(CMD_bdelete, "bdelete", ex_bunload, 142 BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR), 143 EX(CMD_behave, "behave", ex_behave, 144 NEEDARG|WORD1|TRLBAR|CMDWIN), 145 EX(CMD_belowright, "belowright", ex_wrongmodifier, 146 NEEDARG|EXTRA|NOTRLCOM), 147 EX(CMD_bfirst, "bfirst", ex_brewind, 148 BANG|RANGE|NOTADR|TRLBAR), 149 EX(CMD_blast, "blast", ex_blast, 150 BANG|RANGE|NOTADR|TRLBAR), 151 EX(CMD_bmodified, "bmodified", ex_bmodified, 152 BANG|RANGE|NOTADR|COUNT|TRLBAR), 153 EX(CMD_bnext, "bnext", ex_bnext, 154 BANG|RANGE|NOTADR|COUNT|TRLBAR), 155 EX(CMD_botright, "botright", ex_wrongmodifier, 156 NEEDARG|EXTRA|NOTRLCOM), 157 EX(CMD_bprevious, "bprevious", ex_bprevious, 158 BANG|RANGE|NOTADR|COUNT|TRLBAR), 159 EX(CMD_brewind, "brewind", ex_brewind, 160 BANG|RANGE|NOTADR|TRLBAR), 161 EX(CMD_break, "break", ex_break, 162 TRLBAR|SBOXOK|CMDWIN), 163 EX(CMD_breakadd, "breakadd", ex_breakadd, 164 EXTRA|TRLBAR|CMDWIN), 165 EX(CMD_breakdel, "breakdel", ex_breakdel, 166 EXTRA|TRLBAR|CMDWIN), 167 EX(CMD_breaklist, "breaklist", ex_breaklist, 168 EXTRA|TRLBAR|CMDWIN), 169 EX(CMD_browse, "browse", ex_wrongmodifier, 170 NEEDARG|EXTRA|NOTRLCOM|CMDWIN), 171 EX(CMD_buffers, "buffers", buflist_list, 172 BANG|TRLBAR|CMDWIN), 173 EX(CMD_bufdo, "bufdo", ex_listdo, 174 BANG|NEEDARG|EXTRA|NOTRLCOM), 175 EX(CMD_bunload, "bunload", ex_bunload, 176 BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR), 177 EX(CMD_bwipeout, "bwipeout", ex_bunload, 178 BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR), 179 EX(CMD_change, "change", ex_change, 180 BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY), 181 EX(CMD_cNext, "cNext", ex_cnext, 182 RANGE|NOTADR|COUNT|TRLBAR|BANG), 183 EX(CMD_cNfile, "cNfile", ex_cnext, 184 RANGE|NOTADR|COUNT|TRLBAR|BANG), 185 EX(CMD_cabbrev, "cabbrev", ex_abbreviate, 186 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 187 EX(CMD_cabclear, "cabclear", ex_abclear, 188 EXTRA|TRLBAR|CMDWIN), 189 EX(CMD_call, "call", ex_call, 190 RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 191 EX(CMD_catch, "catch", ex_catch, 192 EXTRA|SBOXOK|CMDWIN), 193 EX(CMD_cc, "cc", ex_cc, 194 RANGE|NOTADR|COUNT|TRLBAR|BANG), 195 EX(CMD_cclose, "cclose", ex_cclose, 196 RANGE|NOTADR|COUNT|TRLBAR), 197 EX(CMD_cd, "cd", ex_cd, 198 FILE1|TRLBAR|CMDWIN), 199 EX(CMD_center, "center", ex_align, 200 TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), 201 EX(CMD_cfile, "cfile", ex_cfile, 202 TRLBAR|FILE1|BANG), 203 EX(CMD_cfirst, "cfirst", ex_cc, 204 RANGE|NOTADR|COUNT|TRLBAR|BANG), 205 EX(CMD_cgetfile, "cgetfile", ex_cfile, 206 TRLBAR|FILE1|BANG), 207 EX(CMD_chdir, "chdir", ex_cd, 208 FILE1|TRLBAR|CMDWIN), 209 EX(CMD_changes, "changes", ex_changes, 210 TRLBAR|CMDWIN), 211 EX(CMD_checkpath, "checkpath", ex_checkpath, 212 TRLBAR|BANG|CMDWIN), 213 EX(CMD_checktime, "checktime", ex_checktime, 214 RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR), 215 EX(CMD_clist, "clist", qf_list, 216 BANG|EXTRA|TRLBAR|CMDWIN), 217 EX(CMD_clast, "clast", ex_cc, 218 RANGE|NOTADR|COUNT|TRLBAR|BANG), 219 EX(CMD_close, "close", ex_close, 220 BANG|TRLBAR|CMDWIN), 221 EX(CMD_cmap, "cmap", ex_map, 222 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 223 EX(CMD_cmapclear, "cmapclear", ex_mapclear, 224 EXTRA|TRLBAR|CMDWIN), 225 EX(CMD_cmenu, "cmenu", ex_menu, 226 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 227 EX(CMD_cnext, "cnext", ex_cnext, 228 RANGE|NOTADR|COUNT|TRLBAR|BANG), 229 EX(CMD_cnewer, "cnewer", qf_age, 230 RANGE|NOTADR|COUNT|TRLBAR), 231 EX(CMD_cnfile, "cnfile", ex_cnext, 232 RANGE|NOTADR|COUNT|TRLBAR|BANG), 233 EX(CMD_cnoremap, "cnoremap", ex_map, 234 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 235 EX(CMD_cnoreabbrev, "cnoreabbrev", ex_abbreviate, 236 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 237 EX(CMD_cnoremenu, "cnoremenu", ex_menu, 238 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 239 EX(CMD_copy, "copy", ex_copymove, 240 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY), 241 EX(CMD_colder, "colder", qf_age, 242 RANGE|NOTADR|COUNT|TRLBAR), 243 EX(CMD_colorscheme, "colorscheme", ex_colorscheme, 244 NEEDARG|WORD1|TRLBAR|CMDWIN), 245 EX(CMD_command, "command", ex_command, 246 EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN), 247 EX(CMD_comclear, "comclear", ex_comclear, 248 TRLBAR|CMDWIN), 249 EX(CMD_compiler, "compiler", ex_compiler, 250 BANG|TRLBAR|WORD1), 251 EX(CMD_continue, "continue", ex_continue, 252 TRLBAR|SBOXOK|CMDWIN), 253 EX(CMD_confirm, "confirm", ex_wrongmodifier, 254 NEEDARG|EXTRA|NOTRLCOM|CMDWIN), 255 EX(CMD_copen, "copen", ex_copen, 256 RANGE|NOTADR|COUNT|TRLBAR), 257 EX(CMD_cprevious, "cprevious", ex_cnext, 258 RANGE|NOTADR|COUNT|TRLBAR|BANG), 259 EX(CMD_cpfile, "cpfile", ex_cnext, 260 RANGE|NOTADR|COUNT|TRLBAR|BANG), 261 EX(CMD_cquit, "cquit", ex_cquit, 262 TRLBAR|BANG), 263 EX(CMD_crewind, "crewind", ex_cc, 264 RANGE|NOTADR|COUNT|TRLBAR|BANG), 265 EX(CMD_cscope, "cscope", do_cscope, 266 EXTRA|NOTRLCOM|SBOXOK|XFILE), 267 EX(CMD_cstag, "cstag", do_cstag, 268 BANG|TRLBAR|WORD1), 269 EX(CMD_cunmap, "cunmap", ex_unmap, 270 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 271 EX(CMD_cunabbrev, "cunabbrev", ex_abbreviate, 272 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 273 EX(CMD_cunmenu, "cunmenu", ex_menu, 274 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 275 EX(CMD_cwindow, "cwindow", ex_cwindow, 276 RANGE|NOTADR|COUNT|TRLBAR), 277 EX(CMD_delete, "delete", ex_operators, 278 RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY), 279 EX(CMD_delmarks, "delmarks", ex_delmarks, 280 BANG|EXTRA|TRLBAR|CMDWIN), 281 EX(CMD_debug, "debug", ex_debug, 282 NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 283 EX(CMD_debuggreedy, "debuggreedy", ex_debuggreedy, 284 RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN), 285 EX(CMD_delcommand, "delcommand", ex_delcommand, 286 NEEDARG|WORD1|TRLBAR|CMDWIN), 287 EX(CMD_delfunction, "delfunction", ex_delfunction, 288 NEEDARG|WORD1|CMDWIN), 289 EX(CMD_display, "display", ex_display, 290 EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN), 291 EX(CMD_diffupdate, "diffupdate", ex_diffupdate, 292 TRLBAR), 293 EX(CMD_diffget, "diffget", ex_diffgetput, 294 RANGE|EXTRA|TRLBAR|MODIFY), 295 EX(CMD_diffoff, "diffoff", ex_diffoff, 296 BANG|TRLBAR), 297 EX(CMD_diffpatch, "diffpatch", ex_diffpatch, 298 EXTRA|FILE1|TRLBAR|MODIFY), 299 EX(CMD_diffput, "diffput", ex_diffgetput, 300 RANGE|EXTRA|TRLBAR), 301 EX(CMD_diffsplit, "diffsplit", ex_diffsplit, 302 EXTRA|FILE1|TRLBAR), 303 EX(CMD_diffthis, "diffthis", ex_diffthis, 304 TRLBAR), 305 EX(CMD_digraphs, "digraphs", ex_digraphs, 306 EXTRA|TRLBAR|CMDWIN), 307 EX(CMD_djump, "djump", ex_findpat, 308 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA), 309 EX(CMD_dlist, "dlist", ex_findpat, 310 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN), 311 EX(CMD_doautocmd, "doautocmd", ex_doautocmd, 312 EXTRA|TRLBAR|CMDWIN), 313 EX(CMD_doautoall, "doautoall", ex_doautoall, 314 EXTRA|TRLBAR|CMDWIN), 315 EX(CMD_drop, "drop", ex_drop, 316 FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR), 317 EX(CMD_dsearch, "dsearch", ex_findpat, 318 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN), 319 EX(CMD_dsplit, "dsplit", ex_findpat, 320 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA), 321 EX(CMD_edit, "edit", ex_edit, 322 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), 323 EX(CMD_echo, "echo", ex_echo, 324 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 325 EX(CMD_echoerr, "echoerr", ex_execute, 326 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 327 EX(CMD_echohl, "echohl", ex_echohl, 328 EXTRA|TRLBAR|SBOXOK|CMDWIN), 329 EX(CMD_echomsg, "echomsg", ex_execute, 330 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 331 EX(CMD_echon, "echon", ex_echo, 332 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 333 EX(CMD_else, "else", ex_else, 334 TRLBAR|SBOXOK|CMDWIN), 335 EX(CMD_elseif, "elseif", ex_else, 336 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 337 EX(CMD_emenu, "emenu", ex_emenu, 338 NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN), 339 EX(CMD_endif, "endif", ex_endif, 340 TRLBAR|SBOXOK|CMDWIN), 341 EX(CMD_endfunction, "endfunction", ex_endfunction, 342 TRLBAR|CMDWIN), 343 EX(CMD_endtry, "endtry", ex_endtry, 344 TRLBAR|SBOXOK|CMDWIN), 345 EX(CMD_endwhile, "endwhile", ex_endwhile, 346 TRLBAR|SBOXOK|CMDWIN), 347 EX(CMD_enew, "enew", ex_edit, 348 BANG|TRLBAR), 349 EX(CMD_ex, "ex", ex_edit, 350 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), 351 EX(CMD_execute, "execute", ex_execute, 352 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 353 EX(CMD_exit, "exit", ex_exit, 354 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN), 355 EX(CMD_file, "file", ex_file, 356 RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR), 357 EX(CMD_files, "files", buflist_list, 358 BANG|TRLBAR|CMDWIN), 359 EX(CMD_filetype, "filetype", ex_filetype, 360 EXTRA|TRLBAR|CMDWIN), 361 EX(CMD_find, "find", ex_find, 362 RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), 363 EX(CMD_finally, "finally", ex_finally, 364 TRLBAR|SBOXOK|CMDWIN), 365 EX(CMD_finish, "finish", ex_finish, 366 TRLBAR|SBOXOK|CMDWIN), 367 EX(CMD_first, "first", ex_rewind, 368 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), 369 EX(CMD_fixdel, "fixdel", do_fixdel, 370 TRLBAR|CMDWIN), 371 EX(CMD_fold, "fold", ex_fold, 372 RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN), 373 EX(CMD_foldclose, "foldclose", ex_foldopen, 374 RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN), 375 EX(CMD_folddoopen, "folddoopen", ex_folddo, 376 RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM), 377 EX(CMD_folddoclosed, "folddoclosed", ex_folddo, 378 RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM), 379 EX(CMD_foldopen, "foldopen", ex_foldopen, 380 RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN), 381 EX(CMD_function, "function", ex_function, 382 EXTRA|BANG|CMDWIN), 383 EX(CMD_global, "global", ex_global, 384 RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|CMDWIN), 385 EX(CMD_goto, "goto", ex_goto, 386 RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN), 387 EX(CMD_grep, "grep", ex_make, 388 BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), 389 EX(CMD_grepadd, "grepadd", ex_make, 390 BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), 391 EX(CMD_gui, "gui", ex_gui, 392 BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN), 393 EX(CMD_gvim, "gvim", ex_gui, 394 BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN), 395 EX(CMD_help, "help", ex_help, 396 BANG|EXTRA|NOTRLCOM), 397 EX(CMD_helpfind, "helpfind", ex_helpfind, 398 EXTRA|NOTRLCOM), 399 EX(CMD_helpgrep, "helpgrep", ex_helpgrep, 400 EXTRA|NOTRLCOM|NEEDARG), 401 EX(CMD_helptags, "helptags", ex_helptags, 402 NEEDARG|FILE1|TRLBAR|CMDWIN), 403 EX(CMD_hardcopy, "hardcopy", ex_hardcopy, 404 RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG), 405 EX(CMD_highlight, "highlight", ex_highlight, 406 BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN), 407 EX(CMD_hide, "hide", ex_hide, 408 BANG|EXTRA|NOTRLCOM), 409 EX(CMD_history, "history", ex_history, 410 EXTRA|TRLBAR|CMDWIN), 411 EX(CMD_insert, "insert", ex_append, 412 BANG|RANGE|TRLBAR|CMDWIN|MODIFY), 413 EX(CMD_iabbrev, "iabbrev", ex_abbreviate, 414 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 415 EX(CMD_iabclear, "iabclear", ex_abclear, 416 EXTRA|TRLBAR|CMDWIN), 417 EX(CMD_if, "if", ex_if, 418 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 419 EX(CMD_ijump, "ijump", ex_findpat, 420 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA), 421 EX(CMD_ilist, "ilist", ex_findpat, 422 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN), 423 EX(CMD_imap, "imap", ex_map, 424 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 425 EX(CMD_imapclear, "imapclear", ex_mapclear, 426 EXTRA|TRLBAR|CMDWIN), 427 EX(CMD_imenu, "imenu", ex_menu, 428 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 429 EX(CMD_inoremap, "inoremap", ex_map, 430 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 431 EX(CMD_inoreabbrev, "inoreabbrev", ex_abbreviate, 432 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 433 EX(CMD_inoremenu, "inoremenu", ex_menu, 434 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 435 EX(CMD_intro, "intro", ex_intro, 436 TRLBAR|CMDWIN), 437 EX(CMD_isearch, "isearch", ex_findpat, 438 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN), 439 EX(CMD_isplit, "isplit", ex_findpat, 440 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA), 441 EX(CMD_iunmap, "iunmap", ex_unmap, 442 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 443 EX(CMD_iunabbrev, "iunabbrev", ex_abbreviate, 444 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 445 EX(CMD_iunmenu, "iunmenu", ex_menu, 446 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 447 EX(CMD_join, "join", ex_join, 448 BANG|RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN|MODIFY), 449 EX(CMD_jumps, "jumps", ex_jumps, 450 TRLBAR|CMDWIN), 451 EX(CMD_k, "k", ex_mark, 452 RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN), 453 EX(CMD_keepmarks, "keepmarks", ex_wrongmodifier, 454 NEEDARG|EXTRA|NOTRLCOM), 455 EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier, 456 NEEDARG|EXTRA|NOTRLCOM), 457 EX(CMD_keepalt, "keepalt", ex_wrongmodifier, 458 NEEDARG|EXTRA|NOTRLCOM), 459 EX(CMD_list, "list", ex_print, 460 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN), 461 EX(CMD_last, "last", ex_last, 462 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), 463 EX(CMD_language, "language", ex_language, 464 EXTRA|TRLBAR|CMDWIN), 465 EX(CMD_lcd, "lcd", ex_cd, 466 FILE1|TRLBAR|CMDWIN), 467 EX(CMD_lchdir, "lchdir", ex_cd, 468 FILE1|TRLBAR|CMDWIN), 469 EX(CMD_left, "left", ex_align, 470 TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), 471 EX(CMD_leftabove, "leftabove", ex_wrongmodifier, 472 NEEDARG|EXTRA|NOTRLCOM), 473 EX(CMD_let, "let", ex_let, 474 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 475 EX(CMD_lmap, "lmap", ex_map, 476 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 477 EX(CMD_lmapclear, "lmapclear", ex_mapclear, 478 EXTRA|TRLBAR|CMDWIN), 479 EX(CMD_lnoremap, "lnoremap", ex_map, 480 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 481 EX(CMD_loadview, "loadview", ex_loadview, 482 FILE1|TRLBAR), 483 EX(CMD_loadkeymap, "loadkeymap", ex_loadkeymap, 484 CMDWIN), 485 EX(CMD_lockmarks, "lockmarks", ex_wrongmodifier, 486 NEEDARG|EXTRA|NOTRLCOM), 487 EX(CMD_lunmap, "lunmap", ex_unmap, 488 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 489 EX(CMD_ls, "ls", buflist_list, 490 BANG|TRLBAR|CMDWIN), 491 EX(CMD_move, "move", ex_copymove, 492 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY), 493 EX(CMD_mark, "mark", ex_mark, 494 RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN), 495 EX(CMD_make, "make", ex_make, 496 BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE), 497 EX(CMD_map, "map", ex_map, 498 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 499 EX(CMD_mapclear, "mapclear", ex_mapclear, 500 EXTRA|BANG|TRLBAR|CMDWIN), 501 EX(CMD_marks, "marks", do_marks, 502 EXTRA|TRLBAR|CMDWIN), 503 EX(CMD_match, "match", ex_match, 504 EXTRA|CMDWIN), 505 EX(CMD_menu, "menu", ex_menu, 506 RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 507 EX(CMD_menutranslate, "menutranslate", ex_menutranslate, 508 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 509 EX(CMD_messages, "messages", ex_messages, 510 TRLBAR|CMDWIN), 511 EX(CMD_mkexrc, "mkexrc", ex_mkrc, 512 BANG|FILE1|TRLBAR|CMDWIN), 513 EX(CMD_mksession, "mksession", ex_mkrc, 514 BANG|FILE1|TRLBAR), 515 EX(CMD_mkvimrc, "mkvimrc", ex_mkrc, 516 BANG|FILE1|TRLBAR|CMDWIN), 517 EX(CMD_mkview, "mkview", ex_mkrc, 518 BANG|FILE1|TRLBAR), 519 EX(CMD_mode, "mode", ex_mode, 520 WORD1|TRLBAR|CMDWIN), 521 EX(CMD_mzscheme, "mzscheme", ex_mzscheme, 522 RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN), 523 EX(CMD_mzfile, "mzfile", ex_mzfile, 524 RANGE|FILE1|NEEDARG|CMDWIN), 525 EX(CMD_next, "next", ex_next, 526 RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR), 527 EX(CMD_new, "new", ex_splitview, 528 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), 529 EX(CMD_nmap, "nmap", ex_map, 530 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 531 EX(CMD_nmapclear, "nmapclear", ex_mapclear, 532 EXTRA|TRLBAR|CMDWIN), 533 EX(CMD_nmenu, "nmenu", ex_menu, 534 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 535 EX(CMD_nnoremap, "nnoremap", ex_map, 536 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 537 EX(CMD_nnoremenu, "nnoremenu", ex_menu, 538 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 539 EX(CMD_noremap, "noremap", ex_map, 540 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 541 EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch, 542 TRLBAR|SBOXOK|CMDWIN), 543 EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate, 544 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 545 EX(CMD_noremenu, "noremenu", ex_menu, 546 RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 547 EX(CMD_normal, "normal", ex_normal, 548 RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN), 549 EX(CMD_number, "number", ex_print, 550 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN), 551 EX(CMD_nunmap, "nunmap", ex_unmap, 552 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 553 EX(CMD_nunmenu, "nunmenu", ex_menu, 554 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 555 EX(CMD_open, "open", ex_ni, 556 TRLBAR), /* not supported */ 557 EX(CMD_omap, "omap", ex_map, 558 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 559 EX(CMD_omapclear, "omapclear", ex_mapclear, 560 EXTRA|TRLBAR|CMDWIN), 561 EX(CMD_omenu, "omenu", ex_menu, 562 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 563 EX(CMD_only, "only", ex_only, 564 BANG|TRLBAR), 565 EX(CMD_onoremap, "onoremap", ex_map, 566 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 567 EX(CMD_onoremenu, "onoremenu", ex_menu, 568 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 569 EX(CMD_options, "options", ex_options, 570 TRLBAR), 571 EX(CMD_ounmap, "ounmap", ex_unmap, 572 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 573 EX(CMD_ounmenu, "ounmenu", ex_menu, 574 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 575 EX(CMD_print, "print", ex_print, 576 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN), 577 EX(CMD_pclose, "pclose", ex_pclose, 578 BANG|TRLBAR), 579 EX(CMD_perl, "perl", ex_perl, 580 RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK|CMDWIN), 581 EX(CMD_perldo, "perldo", ex_perldo, 582 RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN), 583 EX(CMD_pedit, "pedit", ex_pedit, 584 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), 585 EX(CMD_pop, "pop", ex_tag, 586 RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR), 587 EX(CMD_popup, "popup", ex_popup, 588 NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN), 589 EX(CMD_ppop, "ppop", ex_ptag, 590 RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR), 591 EX(CMD_preserve, "preserve", ex_preserve, 592 TRLBAR), 593 EX(CMD_previous, "previous", ex_previous, 594 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR), 595 EX(CMD_promptfind, "promptfind", gui_mch_find_dialog, 596 EXTRA|NOTRLCOM|CMDWIN), 597 EX(CMD_promptrepl, "promptrepl", gui_mch_replace_dialog, 598 EXTRA|NOTRLCOM|CMDWIN), 599 EX(CMD_psearch, "psearch", ex_psearch, 600 BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA), 601 EX(CMD_ptag, "ptag", ex_ptag, 602 RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR), 603 EX(CMD_ptNext, "ptNext", ex_ptag, 604 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 605 EX(CMD_ptfirst, "ptfirst", ex_ptag, 606 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 607 EX(CMD_ptjump, "ptjump", ex_ptag, 608 BANG|TRLBAR|WORD1), 609 EX(CMD_ptlast, "ptlast", ex_ptag, 610 BANG|TRLBAR), 611 EX(CMD_ptnext, "ptnext", ex_ptag, 612 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 613 EX(CMD_ptprevious, "ptprevious", ex_ptag, 614 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 615 EX(CMD_ptrewind, "ptrewind", ex_ptag, 616 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 617 EX(CMD_ptselect, "ptselect", ex_ptag, 618 BANG|TRLBAR|WORD1), 619 EX(CMD_put, "put", ex_put, 620 RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY), 621 EX(CMD_pwd, "pwd", ex_pwd, 622 TRLBAR|CMDWIN), 623 EX(CMD_python, "python", ex_python, 624 RANGE|EXTRA|NEEDARG|CMDWIN), 625 EX(CMD_pyfile, "pyfile", ex_pyfile, 626 RANGE|FILE1|NEEDARG|CMDWIN), 627 EX(CMD_quit, "quit", ex_quit, 628 BANG|TRLBAR|CMDWIN), 629 EX(CMD_quitall, "quitall", ex_quit_all, 630 BANG|TRLBAR), 631 EX(CMD_qall, "qall", ex_quit_all, 632 BANG|TRLBAR|CMDWIN), 633 EX(CMD_read, "read", ex_read, 634 BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY), 635 EX(CMD_recover, "recover", ex_recover, 636 BANG|FILE1|TRLBAR), 637 EX(CMD_redo, "redo", ex_redo, 638 TRLBAR|CMDWIN), 639 EX(CMD_redir, "redir", ex_redir, 640 BANG|FILES|TRLBAR|CMDWIN), 641 EX(CMD_redraw, "redraw", ex_redraw, 642 BANG|TRLBAR|CMDWIN), 643 EX(CMD_redrawstatus, "redrawstatus", ex_redrawstatus, 644 BANG|TRLBAR|CMDWIN), 645 EX(CMD_registers, "registers", ex_display, 646 EXTRA|NOTRLCOM|TRLBAR|CMDWIN), 647 EX(CMD_resize, "resize", ex_resize, 648 RANGE|NOTADR|TRLBAR|WORD1), 649 EX(CMD_retab, "retab", ex_retab, 650 TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY), 651 EX(CMD_return, "return", ex_return, 652 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 653 EX(CMD_rewind, "rewind", ex_rewind, 654 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), 655 EX(CMD_right, "right", ex_align, 656 TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), 657 EX(CMD_rightbelow, "rightbelow", ex_wrongmodifier, 658 NEEDARG|EXTRA|NOTRLCOM), 659 EX(CMD_runtime, "runtime", ex_runtime, 660 BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN), 661 EX(CMD_ruby, "ruby", ex_ruby, 662 RANGE|EXTRA|NEEDARG|CMDWIN), 663 EX(CMD_rubydo, "rubydo", ex_rubydo, 664 RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN), 665 EX(CMD_rubyfile, "rubyfile", ex_rubyfile, 666 RANGE|FILE1|NEEDARG|CMDWIN), 667 EX(CMD_rviminfo, "rviminfo", ex_viminfo, 668 BANG|FILE1|TRLBAR|CMDWIN), 669 EX(CMD_substitute, "substitute", do_sub, 670 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), 671 EX(CMD_sNext, "sNext", ex_previous, 672 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR), 673 EX(CMD_sargument, "sargument", ex_argument, 674 BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR), 675 EX(CMD_sall, "sall", ex_all, 676 RANGE|NOTADR|COUNT|TRLBAR), 677 EX(CMD_saveas, "saveas", ex_write, 678 BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR), 679 EX(CMD_sbuffer, "sbuffer", ex_buffer, 680 BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR), 681 EX(CMD_sbNext, "sbNext", ex_bprevious, 682 RANGE|NOTADR|COUNT|TRLBAR), 683 EX(CMD_sball, "sball", ex_buffer_all, 684 RANGE|NOTADR|COUNT|TRLBAR), 685 EX(CMD_sbfirst, "sbfirst", ex_brewind, 686 TRLBAR), 687 EX(CMD_sblast, "sblast", ex_blast, 688 TRLBAR), 689 EX(CMD_sbmodified, "sbmodified", ex_bmodified, 690 RANGE|NOTADR|COUNT|TRLBAR), 691 EX(CMD_sbnext, "sbnext", ex_bnext, 692 RANGE|NOTADR|COUNT|TRLBAR), 693 EX(CMD_sbprevious, "sbprevious", ex_bprevious, 694 RANGE|NOTADR|COUNT|TRLBAR), 695 EX(CMD_sbrewind, "sbrewind", ex_brewind, 696 TRLBAR), 697 EX(CMD_scriptnames, "scriptnames", ex_scriptnames, 698 TRLBAR|CMDWIN), 699 EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding, 700 WORD1|TRLBAR|CMDWIN), 701 EX(CMD_scscope, "scscope", do_scscope, 702 EXTRA|NOTRLCOM|SBOXOK), 703 EX(CMD_set, "set", ex_set, 704 TRLBAR|EXTRA|CMDWIN|SBOXOK), 705 EX(CMD_setfiletype, "setfiletype", ex_setfiletype, 706 TRLBAR|EXTRA|NEEDARG|CMDWIN), 707 EX(CMD_setglobal, "setglobal", ex_set, 708 TRLBAR|EXTRA|CMDWIN), 709 EX(CMD_setlocal, "setlocal", ex_set, 710 TRLBAR|EXTRA|CMDWIN), 711 EX(CMD_sfind, "sfind", ex_splitview, 712 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), 713 EX(CMD_sfirst, "sfirst", ex_rewind, 714 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), 715 EX(CMD_shell, "shell", ex_shell, 716 TRLBAR|CMDWIN), 717 EX(CMD_simalt, "simalt", ex_simalt, 718 NEEDARG|WORD1|TRLBAR|CMDWIN), 719 EX(CMD_sign, "sign", ex_sign, 720 NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN), 721 EX(CMD_silent, "silent", ex_wrongmodifier, 722 NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN), 723 EX(CMD_sleep, "sleep", ex_sleep, 724 RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN), 725 EX(CMD_slast, "slast", ex_last, 726 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), 727 EX(CMD_smagic, "smagic", ex_submagic, 728 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), 729 EX(CMD_snext, "snext", ex_next, 730 RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR), 731 EX(CMD_sniff, "sniff", ex_sniff, 732 EXTRA|TRLBAR), 733 EX(CMD_snomagic, "snomagic", ex_submagic, 734 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), 735 EX(CMD_source, "source", ex_source, 736 BANG|FILE1|TRLBAR|SBOXOK|CMDWIN), 737 EX(CMD_split, "split", ex_splitview, 738 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), 739 EX(CMD_sprevious, "sprevious", ex_previous, 740 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR), 741 EX(CMD_srewind, "srewind", ex_rewind, 742 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), 743 EX(CMD_stop, "stop", ex_stop, 744 TRLBAR|BANG|CMDWIN), 745 EX(CMD_stag, "stag", ex_stag, 746 RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR), 747 EX(CMD_startinsert, "startinsert", ex_startinsert, 748 BANG|TRLBAR|CMDWIN), 749 EX(CMD_startreplace, "startreplace", ex_startinsert, 750 BANG|TRLBAR|CMDWIN), 751 EX(CMD_stopinsert, "stopinsert", ex_stopinsert, 752 BANG|TRLBAR|CMDWIN), 753 EX(CMD_stjump, "stjump", ex_stag, 754 BANG|TRLBAR|WORD1), 755 EX(CMD_stselect, "stselect", ex_stag, 756 BANG|TRLBAR|WORD1), 757 EX(CMD_sunhide, "sunhide", ex_buffer_all, 758 RANGE|NOTADR|COUNT|TRLBAR), 759 EX(CMD_suspend, "suspend", ex_stop, 760 TRLBAR|BANG|CMDWIN), 761 EX(CMD_sview, "sview", ex_splitview, 762 NEEDARG|RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), 763 EX(CMD_swapname, "swapname", ex_swapname, 764 TRLBAR|CMDWIN), 765 EX(CMD_syntax, "syntax", ex_syntax, 766 EXTRA|NOTRLCOM|CMDWIN), 767 EX(CMD_syncbind, "syncbind", ex_syncbind, 768 TRLBAR), 769 EX(CMD_t, "t", ex_copymove, 770 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY), 771 EX(CMD_tNext, "tNext", ex_tag, 772 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 773 EX(CMD_tag, "tag", ex_tag, 774 RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR), 775 EX(CMD_tags, "tags", do_tags, 776 TRLBAR|CMDWIN), 777 EX(CMD_tcl, "tcl", ex_tcl, 778 RANGE|EXTRA|NEEDARG|CMDWIN), 779 EX(CMD_tcldo, "tcldo", ex_tcldo, 780 RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN), 781 EX(CMD_tclfile, "tclfile", ex_tclfile, 782 RANGE|FILE1|NEEDARG|CMDWIN), 783 EX(CMD_tearoff, "tearoff", ex_tearoff, 784 NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN), 785 EX(CMD_tfirst, "tfirst", ex_tag, 786 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 787 EX(CMD_throw, "throw", ex_throw, 788 EXTRA|NEEDARG|SBOXOK|CMDWIN), 789 EX(CMD_tjump, "tjump", ex_tag, 790 BANG|TRLBAR|WORD1), 791 EX(CMD_tlast, "tlast", ex_tag, 792 BANG|TRLBAR), 793 EX(CMD_tmenu, "tmenu", ex_menu, 794 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 795 EX(CMD_tnext, "tnext", ex_tag, 796 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 797 EX(CMD_topleft, "topleft", ex_wrongmodifier, 798 NEEDARG|EXTRA|NOTRLCOM), 799 EX(CMD_tprevious, "tprevious", ex_tag, 800 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 801 EX(CMD_trewind, "trewind", ex_tag, 802 RANGE|NOTADR|BANG|TRLBAR|ZEROR), 803 EX(CMD_try, "try", ex_try, 804 TRLBAR|SBOXOK|CMDWIN), 805 EX(CMD_tselect, "tselect", ex_tag, 806 BANG|TRLBAR|WORD1), 807 EX(CMD_tunmenu, "tunmenu", ex_menu, 808 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 809 EX(CMD_undo, "undo", ex_undo, 810 TRLBAR|CMDWIN), 811 EX(CMD_unabbreviate, "unabbreviate", ex_abbreviate, 812 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 813 EX(CMD_unhide, "unhide", ex_buffer_all, 814 RANGE|NOTADR|COUNT|TRLBAR), 815 EX(CMD_unlet, "unlet", ex_unlet, 816 BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN), 817 EX(CMD_unmap, "unmap", ex_unmap, 818 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 819 EX(CMD_unmenu, "unmenu", ex_menu, 820 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 821 EX(CMD_update, "update", ex_update, 822 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR), 823 EX(CMD_vglobal, "vglobal", ex_global, 824 RANGE|WHOLEFOLD|EXTRA|DFLALL|CMDWIN), 825 EX(CMD_version, "version", ex_version, 826 EXTRA|TRLBAR|CMDWIN), 827 EX(CMD_verbose, "verbose", ex_wrongmodifier, 828 NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 829 EX(CMD_vertical, "vertical", ex_wrongmodifier, 830 NEEDARG|EXTRA|NOTRLCOM), 831 EX(CMD_visual, "visual", ex_edit, 832 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), 833 EX(CMD_view, "view", ex_edit, 834 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), 835 EX(CMD_vmap, "vmap", ex_map, 836 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 837 EX(CMD_vmapclear, "vmapclear", ex_mapclear, 838 EXTRA|TRLBAR|CMDWIN), 839 EX(CMD_vmenu, "vmenu", ex_menu, 840 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 841 EX(CMD_vnoremap, "vnoremap", ex_map, 842 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 843 EX(CMD_vnew, "vnew", ex_splitview, 844 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), 845 EX(CMD_vnoremenu, "vnoremenu", ex_menu, 846 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 847 EX(CMD_vsplit, "vsplit", ex_splitview, 848 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), 849 EX(CMD_vunmap, "vunmap", ex_unmap, 850 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 851 EX(CMD_vunmenu, "vunmenu", ex_menu, 852 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), 853 EX(CMD_write, "write", ex_write, 854 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN), 855 EX(CMD_wNext, "wNext", ex_wnext, 856 RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR), 857 EX(CMD_wall, "wall", do_wqall, 858 BANG|TRLBAR|CMDWIN), 859 EX(CMD_while, "while", ex_while, 860 EXTRA|NOTRLCOM|SBOXOK|CMDWIN), 861 EX(CMD_winsize, "winsize", ex_winsize, 862 EXTRA|NEEDARG|TRLBAR), 863 EX(CMD_wincmd, "wincmd", ex_wincmd, 864 NEEDARG|WORD1|RANGE|NOTADR), 865 EX(CMD_windo, "windo", ex_listdo, 866 BANG|NEEDARG|EXTRA|NOTRLCOM), 867 EX(CMD_winpos, "winpos", ex_winpos, 868 EXTRA|TRLBAR|CMDWIN), 869 EX(CMD_wnext, "wnext", ex_wnext, 870 RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR), 871 EX(CMD_wprevious, "wprevious", ex_wnext, 872 RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR), 873 EX(CMD_wq, "wq", ex_exit, 874 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR), 875 EX(CMD_wqall, "wqall", do_wqall, 876 BANG|FILE1|ARGOPT|DFLALL|TRLBAR), 877 EX(CMD_wsverb, "wsverb", ex_wsverb, 878 EXTRA|NOTADR|NEEDARG), 879 EX(CMD_wviminfo, "wviminfo", ex_viminfo, 880 BANG|FILE1|TRLBAR|CMDWIN), 881 EX(CMD_xit, "xit", ex_exit, 882 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN), 883 EX(CMD_xall, "xall", do_wqall, 884 BANG|TRLBAR), 885 EX(CMD_yank, "yank", ex_operators, 886 RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN), 887 EX(CMD_z, "z", ex_z, 888 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN), 889 890 /* commands that don't start with a lowercase letter */ 891 EX(CMD_bang, "!", ex_bang, 892 RANGE|WHOLEFOLD|BANG|FILES|CMDWIN), 893 EX(CMD_pound, "#", ex_print, 894 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN), 895 EX(CMD_and, "&", do_sub, 896 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), 897 EX(CMD_star, "*", ex_at, 898 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN), 899 EX(CMD_lshift, "<", ex_operators, 900 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN|MODIFY), 901 EX(CMD_equal, "=", ex_equal, 902 RANGE|TRLBAR|DFLALL|CMDWIN), 903 EX(CMD_rshift, ">", ex_operators, 904 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN|MODIFY), 905 EX(CMD_at, "@", ex_at, 906 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN), 907 EX(CMD_Next, "Next", ex_previous, 908 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR), 909 EX(CMD_Print, "Print", ex_print, 910 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN), 911 EX(CMD_X, "X", ex_X, 912 TRLBAR), 913 EX(CMD_tilde, "~", do_sub, 914 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), 915 916 #ifndef DO_DECLARE_EXCMD 917 #ifdef FEAT_USR_CMDS 918 CMD_SIZE, /* MUST be after all real commands! */ 919 CMD_USER = -1, /* User-defined command */ 920 CMD_USER_BUF = -2 /* User-defined command local to buffer */ 921 #else 922 CMD_SIZE /* MUST be the last one! */ 923 #endif 924 #endif 925 }; 926 927 #define USER_CMDIDX(idx) ((int)(idx) < 0) 928 929 #ifndef DO_DECLARE_EXCMD 930 typedef enum CMD_index cmdidx_T; 931 932 /* 933 * Arguments used for Ex commands. 934 */ 935 struct exarg 936 { 937 char_u *arg; /* argument of the command */ 938 char_u *nextcmd; /* next command (NULL if none) */ 939 char_u *cmd; /* the name of the command (except for :make) */ 940 char_u **cmdlinep; /* pointer to pointer of allocated cmdline */ 941 cmdidx_T cmdidx; /* the index for the command */ 942 long argt; /* flags for the command */ 943 int skip; /* don't execute the command, only parse it */ 944 int forceit; /* TRUE if ! present */ 945 int addr_count; /* the number of addresses given */ 946 linenr_T line1; /* the first line number */ 947 linenr_T line2; /* the second line number or count */ 948 char_u *do_ecmd_cmd; /* +command arg to be used in edited file */ 949 linenr_T do_ecmd_lnum; /* the line number in an edited file */ 950 int append; /* TRUE with ":w >>file" command */ 951 int usefilter; /* TRUE with ":w !command" and ":r!command" */ 952 int amount; /* number of '>' or '<' for shift command */ 953 int regname; /* register name (NUL if none) */ 954 int force_bin; /* 0, FORCE_BIN or FORCE_NOBIN */ 955 int force_ff; /* forced 'fileformat' (index in cmd[]) */ 956 #ifdef FEAT_MBYTE 957 int force_enc; /* forced 'encoding' (index in cmd[]) */ 958 #endif 959 #ifdef FEAT_USR_CMDS 960 int useridx; /* user command index */ 961 #endif 962 char_u *errmsg; /* returned error message */ 963 char_u *(*getline) __ARGS((int, void *, int)); 964 void *cookie; /* argument for getline() */ 965 #ifdef FEAT_EVAL 966 struct condstack *cstack; /* condition stack for ":if" etc. */ 967 #endif 968 }; 969 970 #define FORCE_BIN 1 /* ":edit ++bin file" */ 971 #define FORCE_NOBIN 2 /* ":edit ++nobin file" */ 972 973 #endif 974