/* vi:set ts=8 sts=4 sw=4: * * VIM - Vi IMproved by Bram Moolenaar * * Do ":help uganda" in Vim to read copying and usage conditions. * Do ":help credits" in Vim to see a list of people who contributed. */ /* * This file defines the Ex commands. * When DO_DECLARE_EXCMD is defined, the table with ex command names and * options results. * When DO_DECLARE_EXCMD is NOT defined, the enum with all the Ex commands * results. * This clever trick was invented by Ron Aaron. */ /* * When adding an Ex command: * 1. Add an entry in the table below. Keep it sorted on the shortest * version of the command name that works. If it doesn't start with a * lower case letter, add it at the end. * 2. Add a "case: CMD_xxx" in the big switch in ex_docmd.c. * 3. Add an entry in the index for Ex commands at ":help ex-cmd-index". * 4. Add documentation in ../doc/xxx.txt. Add a tag for both the short and * long name of the command. */ #ifdef RANGE# undef RANGE /* SASC on Amiga defines it */#endif #define RANGE 0x001 /* allow a linespecs */#define BANG 0x002 /* allow a ! after the command name */#define EXTRA 0x004 /* allow extra args after command name */#define XFILE 0x008 /* expand wildcards in extra part */#define NOSPC 0x010 /* no spaces allowed in the extra part */#define DFLALL 0x020 /* default file range is 1,$ */#define WHOLEFOLD 0x040 /* extend range to include whole fold also when less than two numbers given */#define NEEDARG 0x080 /* argument required */#define TRLBAR 0x100 /* check for trailing vertical bar */#define REGSTR 0x200 /* allow "x for register designation */#define COUNT 0x400 /* allow count in argument, after command */#define NOTRLCOM 0x800 /* no trailing comment allowed */#define ZEROR 0x1000 /* zero line number allowed */#define USECTRLV 0x2000 /* do not remove CTRL-V from argument */#define NOTADR 0x4000 /* number before command is not an address */#define EDITCMD 0x8000 /* allow "+command" argument */#define BUFNAME 0x10000L /* accepts buffer name */#define BUFUNL 0x20000L /* accepts unlisted buffer too */#define ARGOPT 0x40000L /* allow "++opt=val" argument */#define SBOXOK 0x80000L /* allowed in the sandbox */#define CMDWIN 0x100000L /* allowed in cmdline window */#define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */#define EXFLAGS 0x400000L /* allow flags after count in argument */#define FILES (XFILE | EXTRA) /* multiple extra files allowed */#define WORD1 (EXTRA | NOSPC) /* one extra word allowed */#define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */ #ifndef DO_DECLARE_EXCMDtypedef struct exarg exarg_T;#endif /* * This array maps ex command names to command codes. * The order in which command names are listed below is significant -- * ambiguous abbreviations are always resolved to be the first possible match * (e.g. "r" is taken to mean "read", not "rewind", because "read" comes * before "rewind"). * Not supported commands are included to avoid ambiguities. */#ifdef EX# undef EX /* just in case */#endif#ifdef DO_DECLARE_EXCMD# define EX(a, b, c, d) {(char_u *)b, c, d} typedef void (*ex_func_T) __ARGS((exarg_T *eap)); static struct cmdname{ char_u *cmd_name; /* name of the command */ ex_func_T cmd_func; /* function for this command */ long_u cmd_argt; /* flags declared above */}# if defined(FEAT_GUI_W16)_far# endifcmdnames[] =#else# define EX(a, b, c, d) aenum CMD_index#endif{EX(CMD_append, "append", ex_append, BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY),EX(CMD_abbreviate, "abbreviate", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_abclear, "abclear", ex_abclear, EXTRA|TRLBAR|CMDWIN),EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM),EX(CMD_all, "all", ex_all, RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_amenu, "amenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_anoremenu, "anoremenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_args, "args", ex_args, BANG|FILES|EDITCMD|ARGOPT|TRLBAR),EX(CMD_argadd, "argadd", ex_argadd, BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR),EX(CMD_argdelete, "argdelete", ex_argdelete, BANG|RANGE|NOTADR|FILES|TRLBAR),EX(CMD_argdo, "argdo", ex_listdo, BANG|NEEDARG|EXTRA|NOTRLCOM),EX(CMD_argedit, "argedit", ex_argedit, BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|TRLBAR),EX(CMD_argglobal, "argglobal", ex_args, BANG|FILES|EDITCMD|ARGOPT|TRLBAR),EX(CMD_arglocal, "arglocal", ex_args, BANG|FILES|EDITCMD|ARGOPT|TRLBAR),EX(CMD_argument, "argument", ex_argument, BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),EX(CMD_ascii, "ascii", do_ascii, TRLBAR|SBOXOK|CMDWIN),EX(CMD_autocmd, "autocmd", ex_autocmd, BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_augroup, "augroup", ex_autocmd, BANG|WORD1|TRLBAR|CMDWIN),EX(CMD_aunmenu, "aunmenu", ex_menu, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_buffer, "buffer", ex_buffer, BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),EX(CMD_bNext, "bNext", ex_bprevious, BANG|RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_ball, "ball", ex_buffer_all, RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_badd, "badd", ex_edit, NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN),EX(CMD_bdelete, "bdelete", ex_bunload, BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),EX(CMD_behave, "behave", ex_behave, NEEDARG|WORD1|TRLBAR|CMDWIN),EX(CMD_belowright, "belowright", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM),EX(CMD_bfirst, "bfirst", ex_brewind, BANG|RANGE|NOTADR|TRLBAR),EX(CMD_blast, "blast", ex_blast, BANG|RANGE|NOTADR|TRLBAR),EX(CMD_bmodified, "bmodified", ex_bmodified, BANG|RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_bnext, "bnext", ex_bnext, BANG|RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_botright, "botright", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM),EX(CMD_bprevious, "bprevious", ex_bprevious, BANG|RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_brewind, "brewind", ex_brewind, BANG|RANGE|NOTADR|TRLBAR),EX(CMD_break, "break", ex_break, TRLBAR|SBOXOK|CMDWIN),EX(CMD_breakadd, "breakadd", ex_breakadd, EXTRA|TRLBAR|CMDWIN),EX(CMD_breakdel, "breakdel", ex_breakdel, EXTRA|TRLBAR|CMDWIN),EX(CMD_breaklist, "breaklist", ex_breaklist, EXTRA|TRLBAR|CMDWIN),EX(CMD_browse, "browse", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM|CMDWIN),EX(CMD_buffers, "buffers", buflist_list, BANG|TRLBAR|CMDWIN),EX(CMD_bufdo, "bufdo", ex_listdo, BANG|NEEDARG|EXTRA|NOTRLCOM),EX(CMD_bunload, "bunload", ex_bunload, BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),EX(CMD_bwipeout, "bwipeout", ex_bunload, BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),EX(CMD_change, "change", ex_change, BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY),EX(CMD_cNext, "cNext", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_cNfile, "cNfile", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_cabbrev, "cabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_cabclear, "cabclear", ex_abclear, EXTRA|TRLBAR|CMDWIN),EX(CMD_caddbuffer, "caddbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR),EX(CMD_caddexpr, "caddexpr", ex_cexpr, NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),EX(CMD_caddfile, "caddfile", ex_cfile, TRLBAR|FILE1),EX(CMD_call, "call", ex_call, RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_catch, "catch", ex_catch, EXTRA|SBOXOK|CMDWIN),EX(CMD_cbuffer, "cbuffer", ex_cbuffer, BANG|RANGE|NOTADR|WORD1|TRLBAR),EX(CMD_cc, "cc", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_cclose, "cclose", ex_cclose, RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_cd, "cd", ex_cd, BANG|FILE1|TRLBAR|CMDWIN),EX(CMD_center, "center", ex_align, TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),EX(CMD_cexpr, "cexpr", ex_cexpr, NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),EX(CMD_cfile, "cfile", ex_cfile, TRLBAR|FILE1|BANG),EX(CMD_cfirst, "cfirst", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_cgetfile, "cgetfile", ex_cfile, TRLBAR|FILE1|BANG),EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR),EX(CMD_cgetexpr, "cgetexpr", ex_cexpr, NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),EX(CMD_chdir, "chdir", ex_cd, BANG|FILE1|TRLBAR|CMDWIN),EX(CMD_changes, "changes", ex_changes, TRLBAR|CMDWIN),EX(CMD_checkpath, "checkpath", ex_checkpath, TRLBAR|BANG|CMDWIN),EX(CMD_checktime, "checktime", ex_checktime, RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),EX(CMD_clist, "clist", qf_list, BANG|EXTRA|TRLBAR|CMDWIN),EX(CMD_clast, "clast", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_close, "close", ex_close, BANG|TRLBAR|CMDWIN),EX(CMD_cmap, "cmap", ex_map, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_cmapclear, "cmapclear", ex_mapclear, EXTRA|TRLBAR|CMDWIN),EX(CMD_cmenu, "cmenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_cnext, "cnext", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_cnewer, "cnewer", qf_age, RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_cnfile, "cnfile", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_cnoremap, "cnoremap", ex_map, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_cnoreabbrev, "cnoreabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_cnoremenu, "cnoremenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_copy, "copy", ex_copymove, RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),EX(CMD_colder, "colder", qf_age, RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_colorscheme, "colorscheme", ex_colorscheme, NEEDARG|WORD1|TRLBAR|CMDWIN),EX(CMD_command, "command", ex_command, EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_comclear, "comclear", ex_comclear, TRLBAR|CMDWIN),EX(CMD_compiler, "compiler", ex_compiler, BANG|TRLBAR|WORD1|CMDWIN),EX(CMD_continue, "continue", ex_continue, TRLBAR|SBOXOK|CMDWIN),EX(CMD_confirm, "confirm", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM|CMDWIN),EX(CMD_copen, "copen", ex_copen, RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_cprevious, "cprevious", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_cpfile, "cpfile", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_cquit, "cquit", ex_cquit, TRLBAR|BANG),EX(CMD_crewind, "crewind", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_cscope, "cscope", do_cscope, EXTRA|NOTRLCOM|SBOXOK|XFILE),EX(CMD_cstag, "cstag", do_cstag, BANG|TRLBAR|WORD1),EX(CMD_cunmap, "cunmap", ex_unmap, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_cunabbrev, "cunabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_cunmenu, "cunmenu", ex_menu, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_cwindow, "cwindow", ex_cwindow, RANGE|NOTADR|COUNT|TRLBAR),EX(CMD_delete, "delete", ex_operators, RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY),EX(CMD_delmarks, "delmarks", ex_delmarks, BANG|EXTRA|TRLBAR|CMDWIN),EX(CMD_debug, "debug", ex_debug, NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_debuggreedy, "debuggreedy", ex_debuggreedy, RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN),EX(CMD_delcommand, "delcommand", ex_delcommand, NEEDARG|WORD1|TRLBAR|CMDWIN),EX(CMD_delfunction, "delfunction", ex_delfunction, NEEDARG|WORD1|CMDWIN),EX(CMD_display, "display", ex_display, EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN),EX(CMD_diffupdate, "diffupdate", ex_diffupdate, TRLBAR),EX(CMD_diffget, "diffget", ex_diffgetput, RANGE|EXTRA|TRLBAR|MODIFY),EX(CMD_diffoff, "diffoff", ex_diffoff, BANG|TRLBAR),EX(CMD_diffpatch, "diffpatch", ex_diffpatch, EXTRA|FILE1|TRLBAR|MODIFY),EX(CMD_diffput, "diffput", ex_diffgetput, RANGE|EXTRA|TRLBAR),EX(CMD_diffsplit, "diffsplit", ex_diffsplit, EXTRA|FILE1|TRLBAR),EX(CMD_diffthis, "diffthis", ex_diffthis, TRLBAR),EX(CMD_digraphs, "digraphs", ex_digraphs, EXTRA|TRLBAR|CMDWIN),EX(CMD_djump, "djump", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),EX(CMD_dlist, "dlist", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),EX(CMD_doautocmd, "doautocmd", ex_doautocmd, EXTRA|TRLBAR|CMDWIN),EX(CMD_doautoall, "doautoall", ex_doautoall, EXTRA|TRLBAR|CMDWIN),EX(CMD_drop, "drop", ex_drop, FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR),EX(CMD_dsearch, "dsearch", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),EX(CMD_dsplit, "dsplit", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),EX(CMD_edit, "edit", ex_edit, BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),EX(CMD_earlier, "earlier", ex_later, TRLBAR|EXTRA|NOSPC|CMDWIN),EX(CMD_echo, "echo", ex_echo, EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_echoerr, "echoerr", ex_execute, EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_echohl, "echohl", ex_echohl, EXTRA|TRLBAR|SBOXOK|CMDWIN),EX(CMD_echomsg, "echomsg", ex_execute, EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_echon, "echon", ex_echo, EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_else, "else", ex_else, TRLBAR|SBOXOK|CMDWIN),EX(CMD_elseif, "elseif", ex_else, EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_emenu, "emenu", ex_emenu, NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN),EX(CMD_endif, "endif", ex_endif, TRLBAR|SBOXOK|CMDWIN),EX(CMD_endfunction, "endfunction", ex_endfunction, TRLBAR|CMDWIN),EX(CMD_endfor, "endfor", ex_endwhile, TRLBAR|SBOXOK|CMDWIN),EX(CMD_endtry, "endtry", ex_endtry, TRLBAR|SBOXOK|CMDWIN),EX(CMD_endwhile, "endwhile", ex_endwhile, TRLBAR|SBOXOK|CMDWIN),EX(CMD_enew, "enew", ex_edit, BANG|TRLBAR),EX(CMD_ex, "ex", ex_edit, BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),EX(CMD_execute, "execute", ex_execute, EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_exit, "exit", ex_exit, RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),EX(CMD_exusage, "exusage", ex_exusage, TRLBAR),EX(CMD_file, "file", ex_file, RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR),EX(CMD_files, "files", buflist_list, BANG|TRLBAR|CMDWIN),EX(CMD_filetype, "filetype", ex_filetype, EXTRA|TRLBAR|CMDWIN),EX(CMD_find, "find", ex_find, RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),EX(CMD_finally, "finally", ex_finally, TRLBAR|SBOXOK|CMDWIN),EX(CMD_finish, "finish", ex_finish, TRLBAR|SBOXOK|CMDWIN),EX(CMD_first, "first", ex_rewind, EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),EX(CMD_fixdel, "fixdel", do_fixdel, TRLBAR|CMDWIN),EX(CMD_fold, "fold", ex_fold, RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),EX(CMD_foldclose, "foldclose", ex_foldopen, RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),EX(CMD_folddoopen, "folddoopen", ex_folddo, RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),EX(CMD_folddoclosed, "folddoclosed", ex_folddo, RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),EX(CMD_foldopen, "foldopen", ex_foldopen, RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),EX(CMD_for, "for", ex_while, EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_function, "function", ex_function, EXTRA|BANG|CMDWIN),EX(CMD_global, "global", ex_global, RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN),EX(CMD_goto, "goto", ex_goto, RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN),EX(CMD_grep, "grep", ex_make, RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),EX(CMD_grepadd, "grepadd", ex_make, RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),EX(CMD_gui, "gui", ex_gui, BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),EX(CMD_gvim, "gvim", ex_gui, BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),EX(CMD_help, "help", ex_help, BANG|EXTRA|NOTRLCOM),EX(CMD_helpfind, "helpfind", ex_helpfind, EXTRA|NOTRLCOM),EX(CMD_helpgrep, "helpgrep", ex_helpgrep, EXTRA|NOTRLCOM|NEEDARG),EX(CMD_helptags, "helptags", ex_helptags, NEEDARG|FILE1|TRLBAR|CMDWIN),EX(CMD_hardcopy, "hardcopy", ex_hardcopy, RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG),EX(CMD_highlight, "highlight", ex_highlight, BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN),EX(CMD_hide, "hide", ex_hide, BANG|EXTRA|NOTRLCOM),EX(CMD_history, "history", ex_history, EXTRA|TRLBAR|CMDWIN),EX(CMD_insert, "insert", ex_append, BANG|RANGE|TRLBAR|CMDWIN|MODIFY),EX(CMD_iabbrev, "iabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_iabclear, "iabclear", ex_abclear, EXTRA|TRLBAR|CMDWIN),EX(CMD_if, "if", ex_if, EXTRA|NOTRLCOM|SBOXOK|CMDWIN),EX(CMD_ijump, "ijump", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),EX(CMD_ilist, "ilist", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),EX(CMD_imap, "imap", ex_map, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_imapclear, "imapclear", ex_mapclear, EXTRA|TRLBAR|CMDWIN),EX(CMD_imenu, "imenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_inoremap, "inoremap", ex_map, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_inoreabbrev, "inoreabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_inoremenu, "inoremenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_intro, "intro", ex_intro, TRLBAR|CMDWIN),EX(CMD_isearch, "isearch", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),EX(CMD_isplit, "isplit", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),EX(CMD_iunmap, "iunmap", ex_unmap, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_iunabbrev, "iunabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_iunmenu, "iunmenu", ex_menu, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),EX(CMD_join, "join", ex_join, BANG|RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),EX(CMD_jumps, "jumps", ex_jumps, TRLBAR|CMDWIN),EX(CMD_k, "k", ex_mark, RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN),EX(CMD_keepmarks, "keepmarks", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM),EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM),EX(CMD_keepalt, "keepalt", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM),EX(CMD_list, "list", ex_print, RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),EX(CMD_lNext, "lNext", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_lNfile, "lNfile", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG),EX(CMD_last, "last", ex_last, EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),EX(CMD_language, "language", ex_language, EXTRA|TRLBAR|CMDWIN),EX(CMD_laddexpr, "laddexpr", ex_cexpr, NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),EX(CMD_laddbuffer, "laddbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR),EX(CMD_laddfile, "laddfile", ex_cfile, TRLBAR|FILE1),EX(CMD_later, "later", ex_later, TRLBAR|EXTRA|NOSPC|CMDWIN),EX(CMD_lbuffer, "lbuffer", ex_cbuffer,Lines 1–500 of 1170. Load more
/* vi:set ts=8 sts=4 sw=4: * * VIM - Vi IMproved by Bram Moolenaar * * Do ":help uganda" in Vim to read copying and usage conditions. * Do ":help credits" in Vim to see a list of people who contributed. */ /* * This file defines the Ex commands. * When DO_DECLARE_EXCMD is defined, the table with ex command names and * options results. * When DO_DECLARE_EXCMD is NOT defined, the enum with all the Ex commands * results. * This clever trick was invented by Ron Aaron. */ /* * When adding an Ex command: * 1. Add an entry in the table below. Keep it sorted on the shortest * version of the command name that works. If it doesn't start with a * lower case letter, add it at the end. * 2. Add a "case: CMD_xxx" in the big switch in ex_docmd.c. * 3. Add an entry in the index for Ex commands at ":help ex-cmd-index". * 4. Add documentation in ../doc/xxx.txt. Add a tag for both the short and * long name of the command. */ #ifdef RANGE # undef RANGE /* SASC on Amiga defines it */ #endif #define RANGE 0x001 /* allow a linespecs */ #define BANG 0x002 /* allow a ! after the command name */ #define EXTRA 0x004 /* allow extra args after command name */ #define XFILE 0x008 /* expand wildcards in extra part */ #define NOSPC 0x010 /* no spaces allowed in the extra part */ #define DFLALL 0x020 /* default file range is 1,$ */ #define WHOLEFOLD 0x040 /* extend range to include whole fold also when less than two numbers given */ #define NEEDARG 0x080 /* argument required */ #define TRLBAR 0x100 /* check for trailing vertical bar */ #define REGSTR 0x200 /* allow "x for register designation */ #define COUNT 0x400 /* allow count in argument, after command */ #define NOTRLCOM 0x800 /* no trailing comment allowed */ #define ZEROR 0x1000 /* zero line number allowed */ #define USECTRLV 0x2000 /* do not remove CTRL-V from argument */ #define NOTADR 0x4000 /* number before command is not an address */ #define EDITCMD 0x8000 /* allow "+command" argument */ #define BUFNAME 0x10000L /* accepts buffer name */ #define BUFUNL 0x20000L /* accepts unlisted buffer too */ #define ARGOPT 0x40000L /* allow "++opt=val" argument */ #define SBOXOK 0x80000L /* allowed in the sandbox */ #define CMDWIN 0x100000L /* allowed in cmdline window */ #define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */ #define EXFLAGS 0x400000L /* allow flags after count in argument */ #define FILES (XFILE | EXTRA) /* multiple extra files allowed */ #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */ #define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */ #ifndef DO_DECLARE_EXCMD typedef struct exarg exarg_T; #endif /* * This array maps ex command names to command codes. * The order in which command names are listed below is significant -- * ambiguous abbreviations are always resolved to be the first possible match * (e.g. "r" is taken to mean "read", not "rewind", because "read" comes * before "rewind"). * Not supported commands are included to avoid ambiguities. */ #ifdef EX # undef EX /* just in case */ #endif #ifdef DO_DECLARE_EXCMD # define EX(a, b, c, d) {(char_u *)b, c, d} typedef void (*ex_func_T) __ARGS((exarg_T *eap)); static struct cmdname { char_u *cmd_name; /* name of the command */ ex_func_T cmd_func; /* function for this command */ long_u cmd_argt; /* flags declared above */ } # if defined(FEAT_GUI_W16) _far # endif cmdnames[] = #else # define EX(a, b, c, d) a enum CMD_index #endif { EX(CMD_append, "append", ex_append, BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY), EX(CMD_abbreviate, "abbreviate", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_abclear, "abclear", ex_abclear, EXTRA|TRLBAR|CMDWIN), EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM), EX(CMD_all, "all", ex_all, RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_amenu, "amenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_anoremenu, "anoremenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_args, "args", ex_args, BANG|FILES|EDITCMD|ARGOPT|TRLBAR), EX(CMD_argadd, "argadd", ex_argadd, BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR), EX(CMD_argdelete, "argdelete", ex_argdelete, BANG|RANGE|NOTADR|FILES|TRLBAR), EX(CMD_argdo, "argdo", ex_listdo, BANG|NEEDARG|EXTRA|NOTRLCOM), EX(CMD_argedit, "argedit", ex_argedit, BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|TRLBAR), EX(CMD_argglobal, "argglobal", ex_args, BANG|FILES|EDITCMD|ARGOPT|TRLBAR), EX(CMD_arglocal, "arglocal", ex_args, BANG|FILES|EDITCMD|ARGOPT|TRLBAR), EX(CMD_argument, "argument", ex_argument, BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR), EX(CMD_ascii, "ascii", do_ascii, TRLBAR|SBOXOK|CMDWIN), EX(CMD_autocmd, "autocmd", ex_autocmd, BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_augroup, "augroup", ex_autocmd, BANG|WORD1|TRLBAR|CMDWIN), EX(CMD_aunmenu, "aunmenu", ex_menu, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_buffer, "buffer", ex_buffer, BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR), EX(CMD_bNext, "bNext", ex_bprevious, BANG|RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_ball, "ball", ex_buffer_all, RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_badd, "badd", ex_edit, NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN), EX(CMD_bdelete, "bdelete", ex_bunload, BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR), EX(CMD_behave, "behave", ex_behave, NEEDARG|WORD1|TRLBAR|CMDWIN), EX(CMD_belowright, "belowright", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM), EX(CMD_bfirst, "bfirst", ex_brewind, BANG|RANGE|NOTADR|TRLBAR), EX(CMD_blast, "blast", ex_blast, BANG|RANGE|NOTADR|TRLBAR), EX(CMD_bmodified, "bmodified", ex_bmodified, BANG|RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_bnext, "bnext", ex_bnext, BANG|RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_botright, "botright", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM), EX(CMD_bprevious, "bprevious", ex_bprevious, BANG|RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_brewind, "brewind", ex_brewind, BANG|RANGE|NOTADR|TRLBAR), EX(CMD_break, "break", ex_break, TRLBAR|SBOXOK|CMDWIN), EX(CMD_breakadd, "breakadd", ex_breakadd, EXTRA|TRLBAR|CMDWIN), EX(CMD_breakdel, "breakdel", ex_breakdel, EXTRA|TRLBAR|CMDWIN), EX(CMD_breaklist, "breaklist", ex_breaklist, EXTRA|TRLBAR|CMDWIN), EX(CMD_browse, "browse", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM|CMDWIN), EX(CMD_buffers, "buffers", buflist_list, BANG|TRLBAR|CMDWIN), EX(CMD_bufdo, "bufdo", ex_listdo, BANG|NEEDARG|EXTRA|NOTRLCOM), EX(CMD_bunload, "bunload", ex_bunload, BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR), EX(CMD_bwipeout, "bwipeout", ex_bunload, BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR), EX(CMD_change, "change", ex_change, BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY), EX(CMD_cNext, "cNext", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cNfile, "cNfile", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cabbrev, "cabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_cabclear, "cabclear", ex_abclear, EXTRA|TRLBAR|CMDWIN), EX(CMD_caddbuffer, "caddbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_caddexpr, "caddexpr", ex_cexpr, NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), EX(CMD_caddfile, "caddfile", ex_cfile, TRLBAR|FILE1), EX(CMD_call, "call", ex_call, RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_catch, "catch", ex_catch, EXTRA|SBOXOK|CMDWIN), EX(CMD_cbuffer, "cbuffer", ex_cbuffer, BANG|RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_cc, "cc", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cclose, "cclose", ex_cclose, RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_cd, "cd", ex_cd, BANG|FILE1|TRLBAR|CMDWIN), EX(CMD_center, "center", ex_align, TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), EX(CMD_cexpr, "cexpr", ex_cexpr, NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), EX(CMD_cfile, "cfile", ex_cfile, TRLBAR|FILE1|BANG), EX(CMD_cfirst, "cfirst", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cgetfile, "cgetfile", ex_cfile, TRLBAR|FILE1|BANG), EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_cgetexpr, "cgetexpr", ex_cexpr, NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), EX(CMD_chdir, "chdir", ex_cd, BANG|FILE1|TRLBAR|CMDWIN), EX(CMD_changes, "changes", ex_changes, TRLBAR|CMDWIN), EX(CMD_checkpath, "checkpath", ex_checkpath, TRLBAR|BANG|CMDWIN), EX(CMD_checktime, "checktime", ex_checktime, RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR), EX(CMD_clist, "clist", qf_list, BANG|EXTRA|TRLBAR|CMDWIN), EX(CMD_clast, "clast", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_close, "close", ex_close, BANG|TRLBAR|CMDWIN), EX(CMD_cmap, "cmap", ex_map, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_cmapclear, "cmapclear", ex_mapclear, EXTRA|TRLBAR|CMDWIN), EX(CMD_cmenu, "cmenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_cnext, "cnext", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cnewer, "cnewer", qf_age, RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_cnfile, "cnfile", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cnoremap, "cnoremap", ex_map, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_cnoreabbrev, "cnoreabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_cnoremenu, "cnoremenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_copy, "copy", ex_copymove, RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY), EX(CMD_colder, "colder", qf_age, RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_colorscheme, "colorscheme", ex_colorscheme, NEEDARG|WORD1|TRLBAR|CMDWIN), EX(CMD_command, "command", ex_command, EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_comclear, "comclear", ex_comclear, TRLBAR|CMDWIN), EX(CMD_compiler, "compiler", ex_compiler, BANG|TRLBAR|WORD1|CMDWIN), EX(CMD_continue, "continue", ex_continue, TRLBAR|SBOXOK|CMDWIN), EX(CMD_confirm, "confirm", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM|CMDWIN), EX(CMD_copen, "copen", ex_copen, RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_cprevious, "cprevious", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cpfile, "cpfile", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cquit, "cquit", ex_cquit, TRLBAR|BANG), EX(CMD_crewind, "crewind", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cscope, "cscope", do_cscope, EXTRA|NOTRLCOM|SBOXOK|XFILE), EX(CMD_cstag, "cstag", do_cstag, BANG|TRLBAR|WORD1), EX(CMD_cunmap, "cunmap", ex_unmap, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_cunabbrev, "cunabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_cunmenu, "cunmenu", ex_menu, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_cwindow, "cwindow", ex_cwindow, RANGE|NOTADR|COUNT|TRLBAR), EX(CMD_delete, "delete", ex_operators, RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY), EX(CMD_delmarks, "delmarks", ex_delmarks, BANG|EXTRA|TRLBAR|CMDWIN), EX(CMD_debug, "debug", ex_debug, NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_debuggreedy, "debuggreedy", ex_debuggreedy, RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN), EX(CMD_delcommand, "delcommand", ex_delcommand, NEEDARG|WORD1|TRLBAR|CMDWIN), EX(CMD_delfunction, "delfunction", ex_delfunction, NEEDARG|WORD1|CMDWIN), EX(CMD_display, "display", ex_display, EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN), EX(CMD_diffupdate, "diffupdate", ex_diffupdate, TRLBAR), EX(CMD_diffget, "diffget", ex_diffgetput, RANGE|EXTRA|TRLBAR|MODIFY), EX(CMD_diffoff, "diffoff", ex_diffoff, BANG|TRLBAR), EX(CMD_diffpatch, "diffpatch", ex_diffpatch, EXTRA|FILE1|TRLBAR|MODIFY), EX(CMD_diffput, "diffput", ex_diffgetput, RANGE|EXTRA|TRLBAR), EX(CMD_diffsplit, "diffsplit", ex_diffsplit, EXTRA|FILE1|TRLBAR), EX(CMD_diffthis, "diffthis", ex_diffthis, TRLBAR), EX(CMD_digraphs, "digraphs", ex_digraphs, EXTRA|TRLBAR|CMDWIN), EX(CMD_djump, "djump", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA), EX(CMD_dlist, "dlist", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN), EX(CMD_doautocmd, "doautocmd", ex_doautocmd, EXTRA|TRLBAR|CMDWIN), EX(CMD_doautoall, "doautoall", ex_doautoall, EXTRA|TRLBAR|CMDWIN), EX(CMD_drop, "drop", ex_drop, FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR), EX(CMD_dsearch, "dsearch", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN), EX(CMD_dsplit, "dsplit", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA), EX(CMD_edit, "edit", ex_edit, BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), EX(CMD_earlier, "earlier", ex_later, TRLBAR|EXTRA|NOSPC|CMDWIN), EX(CMD_echo, "echo", ex_echo, EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_echoerr, "echoerr", ex_execute, EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_echohl, "echohl", ex_echohl, EXTRA|TRLBAR|SBOXOK|CMDWIN), EX(CMD_echomsg, "echomsg", ex_execute, EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_echon, "echon", ex_echo, EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_else, "else", ex_else, TRLBAR|SBOXOK|CMDWIN), EX(CMD_elseif, "elseif", ex_else, EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_emenu, "emenu", ex_emenu, NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN), EX(CMD_endif, "endif", ex_endif, TRLBAR|SBOXOK|CMDWIN), EX(CMD_endfunction, "endfunction", ex_endfunction, TRLBAR|CMDWIN), EX(CMD_endfor, "endfor", ex_endwhile, TRLBAR|SBOXOK|CMDWIN), EX(CMD_endtry, "endtry", ex_endtry, TRLBAR|SBOXOK|CMDWIN), EX(CMD_endwhile, "endwhile", ex_endwhile, TRLBAR|SBOXOK|CMDWIN), EX(CMD_enew, "enew", ex_edit, BANG|TRLBAR), EX(CMD_ex, "ex", ex_edit, BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), EX(CMD_execute, "execute", ex_execute, EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_exit, "exit", ex_exit, RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN), EX(CMD_exusage, "exusage", ex_exusage, TRLBAR), EX(CMD_file, "file", ex_file, RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR), EX(CMD_files, "files", buflist_list, BANG|TRLBAR|CMDWIN), EX(CMD_filetype, "filetype", ex_filetype, EXTRA|TRLBAR|CMDWIN), EX(CMD_find, "find", ex_find, RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), EX(CMD_finally, "finally", ex_finally, TRLBAR|SBOXOK|CMDWIN), EX(CMD_finish, "finish", ex_finish, TRLBAR|SBOXOK|CMDWIN), EX(CMD_first, "first", ex_rewind, EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), EX(CMD_fixdel, "fixdel", do_fixdel, TRLBAR|CMDWIN), EX(CMD_fold, "fold", ex_fold, RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN), EX(CMD_foldclose, "foldclose", ex_foldopen, RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN), EX(CMD_folddoopen, "folddoopen", ex_folddo, RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM), EX(CMD_folddoclosed, "folddoclosed", ex_folddo, RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM), EX(CMD_foldopen, "foldopen", ex_foldopen, RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN), EX(CMD_for, "for", ex_while, EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_function, "function", ex_function, EXTRA|BANG|CMDWIN), EX(CMD_global, "global", ex_global, RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN), EX(CMD_goto, "goto", ex_goto, RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN), EX(CMD_grep, "grep", ex_make, RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), EX(CMD_grepadd, "grepadd", ex_make, RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), EX(CMD_gui, "gui", ex_gui, BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN), EX(CMD_gvim, "gvim", ex_gui, BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN), EX(CMD_help, "help", ex_help, BANG|EXTRA|NOTRLCOM), EX(CMD_helpfind, "helpfind", ex_helpfind, EXTRA|NOTRLCOM), EX(CMD_helpgrep, "helpgrep", ex_helpgrep, EXTRA|NOTRLCOM|NEEDARG), EX(CMD_helptags, "helptags", ex_helptags, NEEDARG|FILE1|TRLBAR|CMDWIN), EX(CMD_hardcopy, "hardcopy", ex_hardcopy, RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG), EX(CMD_highlight, "highlight", ex_highlight, BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN), EX(CMD_hide, "hide", ex_hide, BANG|EXTRA|NOTRLCOM), EX(CMD_history, "history", ex_history, EXTRA|TRLBAR|CMDWIN), EX(CMD_insert, "insert", ex_append, BANG|RANGE|TRLBAR|CMDWIN|MODIFY), EX(CMD_iabbrev, "iabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_iabclear, "iabclear", ex_abclear, EXTRA|TRLBAR|CMDWIN), EX(CMD_if, "if", ex_if, EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_ijump, "ijump", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA), EX(CMD_ilist, "ilist", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN), EX(CMD_imap, "imap", ex_map, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_imapclear, "imapclear", ex_mapclear, EXTRA|TRLBAR|CMDWIN), EX(CMD_imenu, "imenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_inoremap, "inoremap", ex_map, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_inoreabbrev, "inoreabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_inoremenu, "inoremenu", ex_menu, RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_intro, "intro", ex_intro, TRLBAR|CMDWIN), EX(CMD_isearch, "isearch", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN), EX(CMD_isplit, "isplit", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA), EX(CMD_iunmap, "iunmap", ex_unmap, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_iunabbrev, "iunabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_iunmenu, "iunmenu", ex_menu, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_join, "join", ex_join, BANG|RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY), EX(CMD_jumps, "jumps", ex_jumps, TRLBAR|CMDWIN), EX(CMD_k, "k", ex_mark, RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN), EX(CMD_keepmarks, "keepmarks", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM), EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM), EX(CMD_keepalt, "keepalt", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM), EX(CMD_list, "list", ex_print, RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN), EX(CMD_lNext, "lNext", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_lNfile, "lNfile", ex_cnext, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_last, "last", ex_last, EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), EX(CMD_language, "language", ex_language, EXTRA|TRLBAR|CMDWIN), EX(CMD_laddexpr, "laddexpr", ex_cexpr, NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), EX(CMD_laddbuffer, "laddbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_laddfile, "laddfile", ex_cfile, TRLBAR|FILE1), EX(CMD_later, "later", ex_later, TRLBAR|EXTRA|NOSPC|CMDWIN), EX(CMD_lbuffer, "lbuffer", ex_cbuffer,