| To: vim_dev@googlegroups.com |
| Subject: Patch 7.4.530 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.4.530 |
| Problem: Many commands take a count or range that is not using line |
| numbers. |
| Solution: For each command specify what kind of count it uses. For windows, |
| buffers and arguments have "$" and "." have a relevant meaning. |
| (Marcin Szamotulski) |
| Files: runtime/doc/editing.txt, runtime/doc/tabpage.txt, |
| runtime/doc/windows.txt, src/Makefile, src/ex_cmds.h, |
| src/ex_docmd.c, src/testdir/Make_amiga.mak |
| src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, |
| src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, |
| src/testdir/Makefile, src/testdir/test_argument_count.in, |
| src/testdir/test_argument_count.ok, |
| src/testdir/test_close_count.in, src/testdir/test_close_count.ok, |
| src/window.c |
| |
| |
| |
| |
| |
| *** 608,614 **** |
| {not in Vi} |
| |
| :[count]arga[dd] {name} .. *:arga* *:argadd* *E479* |
| ! Add the {name}s to the argument list. |
| If [count] is omitted, the {name}s are added just |
| after the current entry in the argument list. |
| Otherwise they are added after the [count]'th file. |
| --- 609,618 ---- |
| {not in Vi} |
| |
| :[count]arga[dd] {name} .. *:arga* *:argadd* *E479* |
| ! :[count]arga[dd] |
| ! Add the {name}s to the argument list. When {name} is |
| ! omitted at the current buffer name to the argument |
| ! list. |
| If [count] is omitted, the {name}s are added just |
| after the current entry in the argument list. |
| Otherwise they are added after the [count]'th file. |
| |
| *** 618,624 **** |
| :argadd x a b x c |
| :0argadd x x a b c |
| :1argadd x a x b c |
| ! :99argadd x a b c x |
| There is no check for duplicates, it is possible to |
| add a file to the argument list twice. |
| The currently edited file is not changed. |
| --- 622,629 ---- |
| :argadd x a b x c |
| :0argadd x x a b c |
| :1argadd x a x b c |
| ! :$argadd x a b c x |
| ! :+2argadd y a b c x y |
| There is no check for duplicates, it is possible to |
| add a file to the argument list twice. |
| The currently edited file is not changed. |
| |
| *** 640,650 **** |
| < {not in Vi} {not available when compiled without the |
| |+listcmds| feature} |
| |
| ! :{range}argd[elete] Delete the {range} files from the argument list. |
| When the last number in the range is too high, up to |
| ! the last argument is deleted. Example: > |
| ! :10,1000argdel |
| ! < Deletes arguments 10 and further, keeping 1-9. |
| {not in Vi} {not available when compiled without the |
| |+listcmds| feature} |
| |
| --- 645,663 ---- |
| < {not in Vi} {not available when compiled without the |
| |+listcmds| feature} |
| |
| ! :[range]argd[elete] Delete the {range} files from the argument list. |
| ! Example: > |
| ! :10,$argdel |
| ! < Deletes arguments 10 and further, keeping 1-9. > |
| ! :$argd |
| ! < Deletes just the last one. > |
| ! :argd |
| ! :.argd |
| ! < Deletes the current argument. > |
| ! :%argd |
| ! < Removes all the files from the arglist. |
| When the last number in the range is too high, up to |
| ! the last argument is deleted. |
| {not in Vi} {not available when compiled without the |
| |+listcmds| feature} |
| |
| |
| *** 1076,1084 **** |
| the last file in the argument list has not been |
| edited. See |:confirm| and 'confirm'. {not in Vi} |
| |
| ! :q[uit]! Quit without writing, also when visible buffers have |
| ! changes. Does not exit when there are changed hidden |
| ! buffers. Use ":qall!" to exit always. |
| |
| :cq[uit] Quit always, without writing, and return an error |
| code. See |:cq|. Used for Manx's QuickFix mode (see |
| --- 1089,1100 ---- |
| the last file in the argument list has not been |
| edited. See |:confirm| and 'confirm'. {not in Vi} |
| |
| ! :q[uit]! Quit without writing, also when currently visible |
| ! buffers have changes. Does not exit when this is the |
| ! last window and there are is a changed hidden buffer. |
| ! In this case, the first changed hidden buffer becomes |
| ! the current buffer. |
| ! Use ":qall!" to exit always. |
| |
| :cq[uit] Quit always, without writing, and return an error |
| code. See |:cq|. Used for Manx's QuickFix mode (see |
| |
| |
| |
| *** 61,76 **** |
| :[count]tabe[dit] *:tabe* *:tabedit* *:tabnew* |
| :[count]tabnew |
| Open a new tab page with an empty window, after the current |
| ! tab page. For [count] see |:tab| below. |
| |
| :[count]tabe[dit] [++opt] [+cmd] {file} |
| :[count]tabnew [++opt] [+cmd] {file} |
| Open a new tab page and edit {file}, like with |:edit|. |
| ! For [count] see |:tab| below. |
| |
| :[count]tabf[ind] [++opt] [+cmd] {file} *:tabf* *:tabfind* |
| Open a new tab page and edit {file} in 'path', like with |
| ! |:find|. For [count] see |:tab| below. |
| {not available when the |+file_in_path| feature was disabled |
| at compile time} |
| |
| --- 61,85 ---- |
| :[count]tabe[dit] *:tabe* *:tabedit* *:tabnew* |
| :[count]tabnew |
| Open a new tab page with an empty window, after the current |
| ! tab page. If [count] is given the new tab page appears after |
| ! the tab page [count] otherwise the new tab page will appear |
| ! after the current one. > |
| ! :tabnew " opens tabpage after the current one |
| ! :.tabnew " as above |
| ! :+tabnew " opens tabpage after the next tab page |
| ! " note: it is one further than :tabnew |
| ! :-tabnew " opens tabpage before the current one |
| ! :0tabnew " opens tabpage before the first one |
| ! :$tabnew " opens tabpage after the last one |
| |
| :[count]tabe[dit] [++opt] [+cmd] {file} |
| :[count]tabnew [++opt] [+cmd] {file} |
| Open a new tab page and edit {file}, like with |:edit|. |
| ! For [count] see |:tabnew| above. |
| |
| :[count]tabf[ind] [++opt] [+cmd] {file} *:tabf* *:tabfind* |
| Open a new tab page and edit {file} in 'path', like with |
| ! |:find|. For [count] see |:tabnew| above. |
| {not available when the |+file_in_path| feature was disabled |
| at compile time} |
| |
| |
| *** 110,121 **** |
| - When 'hidden' is not set, [!] is not used, a buffer has |
| changes, and there is no other window on this buffer. |
| Changes to the buffer are not written and won't get lost, so |
| ! this is a "safe" command. |
| |
| :tabc[lose][!] {count} |
| Close tab page {count}. Fails in the same way as `:tabclose` |
| ! above. |
| ! |
| *:tabo* *:tabonly* |
| :tabo[nly][!] Close all other tab pages. |
| When the 'hidden' option is set, all buffers in closed windows |
| --- 119,136 ---- |
| - When 'hidden' is not set, [!] is not used, a buffer has |
| changes, and there is no other window on this buffer. |
| Changes to the buffer are not written and won't get lost, so |
| ! this is a "safe" command. > |
| ! :tabclose " close the current tab page |
| |
| + :{count}tabc[lose][!] |
| :tabc[lose][!] {count} |
| Close tab page {count}. Fails in the same way as `:tabclose` |
| ! above. > |
| ! :-tabclose " close the previous tab page |
| ! :+tabclose " close the next tab page |
| ! :1tabclose " close the first tab page |
| ! :$tabclose " close the last tab page |
| ! < |
| *:tabo* *:tabonly* |
| :tabo[nly][!] Close all other tab pages. |
| When the 'hidden' option is set, all buffers in closed windows |
| |
| *** 124,130 **** |
| modified buffers are written. Otherwise, windows that have |
| buffers that are modified are not removed, unless the [!] is |
| given, then they become hidden. But modified buffers are |
| ! never abandoned, so changes cannot get lost. |
| |
| |
| SWITCHING TO ANOTHER TAB PAGE: |
| --- 139,155 ---- |
| modified buffers are written. Otherwise, windows that have |
| buffers that are modified are not removed, unless the [!] is |
| given, then they become hidden. But modified buffers are |
| ! never abandoned, so changes cannot get lost. > |
| ! :tabonly " close all tab pages except the current |
| ! |
| ! :{count}tabo[nly][!] |
| ! Close all tab pages except the {count}th one. > |
| ! :.tabonly " one |
| ! :-tabonly " close all tab pages except the previous |
| ! " one |
| ! :+tabonly " close all tab pages except the next one |
| ! :1tabonly " close all tab pages except the first one |
| ! :$tabonly " close all tab pages except the last one |
| |
| |
| SWITCHING TO ANOTHER TAB PAGE: |
| |
| *** 176,182 **** |
| :[N]tabm[ove] |
| Move the current tab page to after tab page N. Use zero to |
| make the current tab page the first one. Without N the tab |
| ! page is made the last one. |
| |
| :tabm[ove] +[N] |
| :tabm[ove] -[N] |
| --- 201,215 ---- |
| :[N]tabm[ove] |
| Move the current tab page to after tab page N. Use zero to |
| make the current tab page the first one. Without N the tab |
| ! page is made the last one. > |
| ! :-tabmove " move the tab page to the left |
| ! :tabmove " move the tab page to the right |
| ! :.tabmove " as above |
| ! :+tabmove " as above |
| ! :0tabmove " move the tab page to the begining of the tab |
| ! " list |
| ! :$tabmove " move the tab page to the end of the tab list |
| ! < |
| |
| :tabm[ove] +[N] |
| :tabm[ove] -[N] |
| |
| |
| |
| *** 263,290 **** |
| Closing a window |
| ---------------- |
| |
| CTRL-W q *CTRL-W_q* |
| CTRL-W CTRL-Q *CTRL-W_CTRL-Q* |
| ! :q[uit] Quit current window. When quitting the last window (not |
| ! counting a help window), exit Vim. |
| When 'hidden' is set, and there is only one window for the |
| ! current buffer, it becomes hidden. |
| ! When 'hidden' is not set, and there is only one window for the |
| ! current buffer, and the buffer was changed, the command fails. |
| ! (Note: CTRL-Q does not work on all terminals) |
| ! |
| ! :q[uit]! Quit current window. If this was the last window for a buffer, |
| ! any changes to that buffer are lost. When quitting the last |
| ! window (not counting help windows), exit Vim. The contents of |
| ! the buffer are lost, even when 'hidden' is set. |
| |
| CTRL-W c *CTRL-W_c* *:clo* *:close* |
| ! :clo[se][!] Close current window. When the 'hidden' option is set, or |
| ! when the buffer was changed and the [!] is used, the buffer |
| ! becomes hidden (unless there is another window editing it). |
| When there is only one window in the current tab page and |
| there is another tab page, this closes the current tab page. |
| |tab-page|. |
| This command fails when: *E444* |
| - There is only one window on the screen. |
| - When 'hidden' is not set, [!] is not used, the buffer has |
| --- 263,318 ---- |
| Closing a window |
| ---------------- |
| |
| + :q[uit] |
| + :{count}q[uit] |
| CTRL-W q *CTRL-W_q* |
| CTRL-W CTRL-Q *CTRL-W_CTRL-Q* |
| ! Without {count}: Quit the current window. If {count} is |
| ! given quit the {count} window. |
| ! |
| ! When quitting the last window (not counting a help window), |
| ! exit Vim. |
| ! |
| When 'hidden' is set, and there is only one window for the |
| ! current buffer, it becomes hidden. When 'hidden' is not set, |
| ! and there is only one window for the current buffer, and the |
| ! buffer was changed, the command fails. |
| ! |
| ! (Note: CTRL-Q does not |
| ! work on all terminals). If [count] is greater than |
| ! the last window number the last window will be closed: > |
| ! :1quit " quit the first window |
| ! :$quit " quit the last window |
| ! :9quit " quit the last window |
| ! " if there are less than 9 windows opened |
| ! :-quit " quit the previews window |
| ! :+quit " quit the next window |
| ! :+2quit " will also work as expected |
| ! < |
| ! :q[uit]! |
| ! :{count}q[uit]! |
| ! Without {count}: Quit the current window. If {count} is |
| ! given quit the {count} window. |
| ! |
| ! If this was the last window for a buffer, any changes to that |
| ! buffer are lost. When quitting the last window (not counting |
| ! help windows), exit Vim. The contents of the buffer are lost, |
| ! even when 'hidden' is set. |
| |
| + :clo[se][!] |
| + :{count}clo[se][!] |
| CTRL-W c *CTRL-W_c* *:clo* *:close* |
| ! Without {count}: Close the current window. If {count} is |
| ! given close the {count} window. |
| ! |
| ! When the 'hidden' option is set, or when the buffer was |
| ! changed and the [!] is used, the buffer becomes hidden (unless |
| ! there is another window editing it). |
| ! |
| When there is only one window in the current tab page and |
| there is another tab page, this closes the current tab page. |
| |tab-page|. |
| + |
| This command fails when: *E444* |
| - There is only one window on the screen. |
| - When 'hidden' is not set, [!] is not used, the buffer has |
| |
| *** 298,311 **** |
| command. |
| |
| *:hide* |
| ! :hid[e] Quit current window, unless it is the last window on the |
| ! screen. The buffer becomes hidden (unless there is another |
| ! window editing it or 'bufhidden' is "unload" or "delete"). |
| ! If the window is the last one in the current tab page the tab |
| ! page is closed. |tab-page| |
| ! The value of 'hidden' is irrelevant for this command. |
| ! Changes to the buffer are not written and won't get lost, so |
| ! this is a "safe" command. |
| |
| :hid[e] {cmd} Execute {cmd} with 'hidden' is set. The previous value of |
| 'hidden' is restored after {cmd} has been executed. |
| --- 326,344 ---- |
| command. |
| |
| *:hide* |
| ! :hid[e] |
| ! :{count}hid[e] |
| ! Quit the current window, unless it is the last window on the |
| ! screen. For {count} see |:quit| command. |
| ! |
| ! The buffer becomes hidden (unless there is another window |
| ! editing it or 'bufhidden' is "unload" or "delete"). If the |
| ! window is the last one in the current tab page the tab page is |
| ! closed. |tab-page| |
| ! |
| ! The value of 'hidden' is irrelevant for this command. Changes |
| ! to the buffer are not written and won't get lost, so this is a |
| ! "safe" command. |
| |
| :hid[e] {cmd} Execute {cmd} with 'hidden' is set. The previous value of |
| 'hidden' is restored after {cmd} has been executed. |
| |
| *** 314,325 **** |
| < This will edit "Makefile", and hide the current buffer if it |
| has any changes. |
| |
| CTRL-W o *CTRL-W_o* *E445* |
| CTRL-W CTRL-O *CTRL-W_CTRL-O* *:on* *:only* |
| ! :on[ly][!] Make the current window the only one on the screen. All other |
| ! windows are closed. |
| When the 'hidden' option is set, all buffers in closed windows |
| become hidden. |
| When 'hidden' is not set, and the 'autowrite' option is set, |
| modified buffers are written. Otherwise, windows that have |
| buffers that are modified are not removed, unless the [!] is |
| --- 347,362 ---- |
| < This will edit "Makefile", and hide the current buffer if it |
| has any changes. |
| |
| + :on[ly][!] |
| + :{count}on[ly][!] |
| CTRL-W o *CTRL-W_o* *E445* |
| CTRL-W CTRL-O *CTRL-W_CTRL-O* *:on* *:only* |
| ! Make the current window the only one on the screen. All other |
| ! windows are closed. For {count} see |:quit| command. |
| ! |
| When the 'hidden' option is set, all buffers in closed windows |
| become hidden. |
| + |
| When 'hidden' is not set, and the 'autowrite' option is set, |
| modified buffers are written. Otherwise, windows that have |
| buffers that are modified are not removed, unless the [!] is |
| |
| |
| |
| *** 1890,1899 **** |
| done |
| |
| # Run individual test, assuming that Vim was already compiled. |
| ! test1 test2 test3 test4 test5 test6 test7 test8 test9 \ |
| test_autoformat_join \ |
| test_breakindent \ |
| test_changelist \ |
| test_eval \ |
| test_insertcount \ |
| test_listlbr \ |
| --- 1890,1901 ---- |
| done |
| |
| # Run individual test, assuming that Vim was already compiled. |
| ! test1 \ |
| ! test_argument_count \ |
| test_autoformat_join \ |
| test_breakindent \ |
| test_changelist \ |
| + test_close_count \ |
| test_eval \ |
| test_insertcount \ |
| test_listlbr \ |
| |
| *** 1904,1909 **** |
| --- 1906,1912 ---- |
| test_signs \ |
| test_utf8 \ |
| test_writefile \ |
| + test2 test3 test4 test5 test6 test7 test8 test9 \ |
| test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 \ |
| test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \ |
| test30 test31 test32 test33 test34 test35 test36 test37 test38 test39 \ |
| |
| |
| |
| *** 58,63 **** |
| --- 58,71 ---- |
| #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */ |
| #define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */ |
| |
| + /* values for cmd_addr_type */ |
| + #define ADDR_LINES 0 |
| + #define ADDR_WINDOWS 1 |
| + #define ADDR_ARGUMENTS 2 |
| + #define ADDR_LOADED_BUFFERS 3 |
| + #define ADDR_UNLOADED_BUFFERS 4 |
| + #define ADDR_TABS 5 |
| + |
| #ifndef DO_DECLARE_EXCMD |
| typedef struct exarg exarg_T; |
| #endif |
| |
| *** 74,80 **** |
| # undef EX /* just in case */ |
| #endif |
| #ifdef DO_DECLARE_EXCMD |
| ! # define EX(a, b, c, d) {(char_u *)b, c, (long_u)(d)} |
| |
| typedef void (*ex_func_T) __ARGS((exarg_T *eap)); |
| |
| --- 82,88 ---- |
| # undef EX /* just in case */ |
| #endif |
| #ifdef DO_DECLARE_EXCMD |
| ! # define EX(a, b, c, d, e) {(char_u *)b, c, (long_u)(d), e} |
| |
| typedef void (*ex_func_T) __ARGS((exarg_T *eap)); |
| |
| |
| *** 83,1146 **** |
| 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, |
| ! BANG|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|ARGOPT|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|EDITCMD|TRLBAR), |
| EX(CMD_bNext, "bNext", ex_bprevious, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|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|EDITCMD|TRLBAR), |
| EX(CMD_blast, "blast", ex_blast, |
| ! BANG|RANGE|NOTADR|EDITCMD|TRLBAR), |
| EX(CMD_bmodified, "bmodified", ex_bmodified, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_bnext, "bnext", ex_bnext, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_botright, "botright", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_bprevious, "bprevious", ex_bprevious, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_brewind, "brewind", ex_brewind, |
| ! BANG|RANGE|NOTADR|EDITCMD|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), |
| 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), |
| EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer, |
| ! RANGE|NOTADR|WORD1|TRLBAR), |
| EX(CMD_cgetexpr, "cgetexpr", ex_cexpr, |
| ! NEEDARG|WORD1|NOTRLCOM|TRLBAR), |
| 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, |
| ! 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|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, |
| ! BANG|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_helpclose, "helpclose", ex_helpclose, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_helpfind, "helpfind", ex_helpfind, |
| ! EXTRA|NOTRLCOM), |
| EX(CMD_helpgrep, "helpgrep", ex_helpgrep, |
| ! EXTRA|NOTRLCOM|NEEDARG), |
| EX(CMD_helptags, "helptags", ex_helptags, |
| ! NEEDARG|FILES|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_keeppatterns, "keeppatterns", 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), |
| 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, |
| ! BANG|RANGE|NOTADR|WORD1|TRLBAR), |
| EX(CMD_lcd, "lcd", ex_cd, |
| ! BANG|FILE1|TRLBAR|CMDWIN), |
| EX(CMD_lchdir, "lchdir", ex_cd, |
| ! BANG|FILE1|TRLBAR|CMDWIN), |
| EX(CMD_lclose, "lclose", ex_cclose, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_lcscope, "lcscope", do_cscope, |
| ! EXTRA|NOTRLCOM|XFILE), |
| EX(CMD_left, "left", ex_align, |
| ! TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), |
| EX(CMD_leftabove, "leftabove", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_let, "let", ex_let, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN), |
| EX(CMD_lexpr, "lexpr", ex_cexpr, |
| ! NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), |
| EX(CMD_lfile, "lfile", ex_cfile, |
| ! TRLBAR|FILE1|BANG), |
| EX(CMD_lfirst, "lfirst", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG), |
| EX(CMD_lgetfile, "lgetfile", ex_cfile, |
| ! TRLBAR|FILE1), |
| EX(CMD_lgetbuffer, "lgetbuffer", ex_cbuffer, |
| ! RANGE|NOTADR|WORD1|TRLBAR), |
| EX(CMD_lgetexpr, "lgetexpr", ex_cexpr, |
| ! NEEDARG|WORD1|NOTRLCOM|TRLBAR), |
| EX(CMD_lgrep, "lgrep", ex_make, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), |
| EX(CMD_lgrepadd, "lgrepadd", ex_make, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), |
| EX(CMD_lhelpgrep, "lhelpgrep", ex_helpgrep, |
| ! EXTRA|NOTRLCOM|NEEDARG), |
| EX(CMD_ll, "ll", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG), |
| EX(CMD_llast, "llast", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG), |
| EX(CMD_llist, "llist", qf_list, |
| ! BANG|EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_lmap, "lmap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_lmapclear, "lmapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_lmake, "lmake", ex_make, |
| ! BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE), |
| EX(CMD_lnoremap, "lnoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_lnext, "lnext", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG), |
| EX(CMD_lnewer, "lnewer", qf_age, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_lnfile, "lnfile", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG), |
| EX(CMD_loadview, "loadview", ex_loadview, |
| ! FILE1|TRLBAR), |
| EX(CMD_loadkeymap, "loadkeymap", ex_loadkeymap, |
| ! CMDWIN), |
| EX(CMD_lockmarks, "lockmarks", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_lockvar, "lockvar", ex_lockvar, |
| ! BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN), |
| EX(CMD_lolder, "lolder", qf_age, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_lopen, "lopen", ex_copen, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_lprevious, "lprevious", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG), |
| EX(CMD_lpfile, "lpfile", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG), |
| EX(CMD_lrewind, "lrewind", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG), |
| EX(CMD_ltag, "ltag", ex_tag, |
| ! NOTADR|TRLBAR|BANG|WORD1), |
| EX(CMD_lunmap, "lunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_lua, "lua", ex_lua, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_luado, "luado", ex_luado, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_luafile, "luafile", ex_luafile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN), |
| EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), |
| EX(CMD_lvimgrepadd, "lvimgrepadd", ex_vimgrep, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), |
| EX(CMD_lwindow, "lwindow", ex_cwindow, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_ls, "ls", buflist_list, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_move, "move", ex_copymove, |
| ! RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY), |
| EX(CMD_mark, "mark", ex_mark, |
| ! RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN), |
| EX(CMD_make, "make", ex_make, |
| ! BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE), |
| EX(CMD_map, "map", ex_map, |
| ! BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_mapclear, "mapclear", ex_mapclear, |
| ! EXTRA|BANG|TRLBAR|CMDWIN), |
| EX(CMD_marks, "marks", do_marks, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_match, "match", ex_match, |
| ! RANGE|NOTADR|EXTRA|CMDWIN), |
| EX(CMD_menu, "menu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_menutranslate, "menutranslate", ex_menutranslate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_messages, "messages", ex_messages, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_mkexrc, "mkexrc", ex_mkrc, |
| ! BANG|FILE1|TRLBAR|CMDWIN), |
| EX(CMD_mksession, "mksession", ex_mkrc, |
| ! BANG|FILE1|TRLBAR), |
| EX(CMD_mkspell, "mkspell", ex_mkspell, |
| ! BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), |
| EX(CMD_mkvimrc, "mkvimrc", ex_mkrc, |
| ! BANG|FILE1|TRLBAR|CMDWIN), |
| EX(CMD_mkview, "mkview", ex_mkrc, |
| ! BANG|FILE1|TRLBAR), |
| EX(CMD_mode, "mode", ex_mode, |
| ! WORD1|TRLBAR|CMDWIN), |
| EX(CMD_mzscheme, "mzscheme", ex_mzscheme, |
| ! RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK), |
| EX(CMD_mzfile, "mzfile", ex_mzfile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN), |
| EX(CMD_next, "next", ex_next, |
| ! RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_nbkey, "nbkey", ex_nbkey, |
| ! EXTRA|NOTADR|NEEDARG), |
| EX(CMD_nbclose, "nbclose", ex_nbclose, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_nbstart, "nbstart", ex_nbstart, |
| ! WORD1|TRLBAR|CMDWIN), |
| EX(CMD_new, "new", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_nmap, "nmap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_nmapclear, "nmapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_nmenu, "nmenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_nnoremap, "nnoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_nnoremenu, "nnoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_noremap, "noremap", ex_map, |
| ! BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_noautocmd, "noautocmd", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch, |
| ! TRLBAR|SBOXOK|CMDWIN), |
| EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_noremenu, "noremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_noswapfile, "noswapfile", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_normal, "normal", ex_normal, |
| ! RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN), |
| EX(CMD_number, "number", ex_print, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN), |
| EX(CMD_nunmap, "nunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_nunmenu, "nunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_open, "open", ex_open, |
| ! RANGE|BANG|EXTRA), |
| EX(CMD_oldfiles, "oldfiles", ex_oldfiles, |
| ! BANG|TRLBAR|SBOXOK|CMDWIN), |
| EX(CMD_omap, "omap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_omapclear, "omapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_omenu, "omenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_only, "only", ex_only, |
| ! BANG|TRLBAR), |
| EX(CMD_onoremap, "onoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_onoremenu, "onoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_options, "options", ex_options, |
| ! TRLBAR), |
| EX(CMD_ounmap, "ounmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_ounmenu, "ounmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_ownsyntax, "ownsyntax", ex_ownsyntax, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN), |
| EX(CMD_print, "print", ex_print, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|SBOXOK), |
| EX(CMD_pclose, "pclose", ex_pclose, |
| ! BANG|TRLBAR), |
| EX(CMD_perl, "perl", ex_perl, |
| ! RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK|CMDWIN), |
| EX(CMD_perldo, "perldo", ex_perldo, |
| ! RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN), |
| EX(CMD_pedit, "pedit", ex_pedit, |
| ! BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_pop, "pop", ex_tag, |
| ! RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR), |
| EX(CMD_popup, "popup", ex_popup, |
| ! NEEDARG|EXTRA|BANG|TRLBAR|NOTRLCOM|CMDWIN), |
| EX(CMD_ppop, "ppop", ex_ptag, |
| ! RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR), |
| EX(CMD_preserve, "preserve", ex_preserve, |
| ! TRLBAR), |
| EX(CMD_previous, "previous", ex_previous, |
| ! EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_promptfind, "promptfind", gui_mch_find_dialog, |
| ! EXTRA|NOTRLCOM|CMDWIN), |
| EX(CMD_promptrepl, "promptrepl", gui_mch_replace_dialog, |
| ! EXTRA|NOTRLCOM|CMDWIN), |
| EX(CMD_profile, "profile", ex_profile, |
| ! BANG|EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_profdel, "profdel", ex_breakdel, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_psearch, "psearch", ex_psearch, |
| ! BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA), |
| EX(CMD_ptag, "ptag", ex_ptag, |
| ! RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR), |
| EX(CMD_ptNext, "ptNext", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_ptfirst, "ptfirst", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_ptjump, "ptjump", ex_ptag, |
| ! BANG|TRLBAR|WORD1), |
| EX(CMD_ptlast, "ptlast", ex_ptag, |
| ! BANG|TRLBAR), |
| EX(CMD_ptnext, "ptnext", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_ptprevious, "ptprevious", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_ptrewind, "ptrewind", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_ptselect, "ptselect", ex_ptag, |
| ! BANG|TRLBAR|WORD1), |
| EX(CMD_put, "put", ex_put, |
| ! RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY), |
| EX(CMD_pwd, "pwd", ex_pwd, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_python, "python", ex_python, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_pydo, "pydo", ex_pydo, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_pyfile, "pyfile", ex_pyfile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN), |
| EX(CMD_py3, "py3", ex_py3, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_py3do, "py3do", ex_py3do, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_python3, "python3", ex_py3, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_py3file, "py3file", ex_py3file, |
| ! RANGE|FILE1|NEEDARG|CMDWIN), |
| EX(CMD_quit, "quit", ex_quit, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_quitall, "quitall", ex_quit_all, |
| ! BANG|TRLBAR), |
| EX(CMD_qall, "qall", ex_quit_all, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_read, "read", ex_read, |
| ! BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY), |
| EX(CMD_recover, "recover", ex_recover, |
| ! BANG|FILE1|TRLBAR), |
| EX(CMD_redo, "redo", ex_redo, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_redir, "redir", ex_redir, |
| ! BANG|FILES|TRLBAR|CMDWIN), |
| EX(CMD_redraw, "redraw", ex_redraw, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_redrawstatus, "redrawstatus", ex_redrawstatus, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_registers, "registers", ex_display, |
| ! EXTRA|NOTRLCOM|TRLBAR|CMDWIN), |
| EX(CMD_resize, "resize", ex_resize, |
| ! RANGE|NOTADR|TRLBAR|WORD1), |
| EX(CMD_retab, "retab", ex_retab, |
| ! TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY), |
| EX(CMD_return, "return", ex_return, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN), |
| EX(CMD_rewind, "rewind", ex_rewind, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_right, "right", ex_align, |
| ! TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), |
| EX(CMD_rightbelow, "rightbelow", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_runtime, "runtime", ex_runtime, |
| ! BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN), |
| EX(CMD_ruby, "ruby", ex_ruby, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_rubydo, "rubydo", ex_rubydo, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_rubyfile, "rubyfile", ex_rubyfile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN), |
| EX(CMD_rundo, "rundo", ex_rundo, |
| ! NEEDARG|FILE1), |
| EX(CMD_rviminfo, "rviminfo", ex_viminfo, |
| ! BANG|FILE1|TRLBAR|CMDWIN), |
| EX(CMD_substitute, "substitute", do_sub, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN), |
| EX(CMD_sNext, "sNext", ex_previous, |
| ! EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_sargument, "sargument", ex_argument, |
| ! BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_sall, "sall", ex_all, |
| ! BANG|RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_sandbox, "sandbox", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_saveas, "saveas", ex_write, |
| ! BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR), |
| EX(CMD_sbuffer, "sbuffer", ex_buffer, |
| ! BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR), |
| EX(CMD_sbNext, "sbNext", ex_bprevious, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sball, "sball", ex_buffer_all, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sbfirst, "sbfirst", ex_brewind, |
| ! EDITCMD|TRLBAR), |
| EX(CMD_sblast, "sblast", ex_blast, |
| ! EDITCMD|TRLBAR), |
| EX(CMD_sbmodified, "sbmodified", ex_bmodified, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sbnext, "sbnext", ex_bnext, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sbprevious, "sbprevious", ex_bprevious, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sbrewind, "sbrewind", ex_brewind, |
| ! EDITCMD|TRLBAR), |
| EX(CMD_scriptnames, "scriptnames", ex_scriptnames, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding, |
| ! WORD1|TRLBAR|CMDWIN), |
| EX(CMD_scscope, "scscope", do_scscope, |
| ! EXTRA|NOTRLCOM), |
| EX(CMD_set, "set", ex_set, |
| ! TRLBAR|EXTRA|CMDWIN|SBOXOK), |
| EX(CMD_setfiletype, "setfiletype", ex_setfiletype, |
| ! TRLBAR|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_setglobal, "setglobal", ex_set, |
| ! TRLBAR|EXTRA|CMDWIN|SBOXOK), |
| EX(CMD_setlocal, "setlocal", ex_set, |
| ! TRLBAR|EXTRA|CMDWIN|SBOXOK), |
| EX(CMD_sfind, "sfind", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_sfirst, "sfirst", ex_rewind, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_shell, "shell", ex_shell, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_simalt, "simalt", ex_simalt, |
| ! NEEDARG|WORD1|TRLBAR|CMDWIN), |
| EX(CMD_sign, "sign", ex_sign, |
| ! NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN), |
| EX(CMD_silent, "silent", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN), |
| EX(CMD_sleep, "sleep", ex_sleep, |
| ! RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_slast, "slast", ex_last, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_smagic, "smagic", ex_submagic, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN), |
| EX(CMD_smap, "smap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_smapclear, "smapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_smenu, "smenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_snext, "snext", ex_next, |
| ! RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_sniff, "sniff", ex_sniff, |
| ! EXTRA|TRLBAR), |
| EX(CMD_snomagic, "snomagic", ex_submagic, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN), |
| EX(CMD_snoremap, "snoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_snoremenu, "snoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_source, "source", ex_source, |
| ! BANG|FILE1|TRLBAR|SBOXOK|CMDWIN), |
| EX(CMD_sort, "sort", ex_sort, |
| ! RANGE|DFLALL|WHOLEFOLD|BANG|EXTRA|NOTRLCOM|MODIFY), |
| EX(CMD_split, "split", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_spellgood, "spellgood", ex_spell, |
| ! BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR), |
| EX(CMD_spelldump, "spelldump", ex_spelldump, |
| ! BANG|TRLBAR), |
| EX(CMD_spellinfo, "spellinfo", ex_spellinfo, |
| ! TRLBAR), |
| EX(CMD_spellrepall, "spellrepall", ex_spellrepall, |
| ! TRLBAR), |
| EX(CMD_spellundo, "spellundo", ex_spell, |
| ! BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR), |
| EX(CMD_spellwrong, "spellwrong", ex_spell, |
| ! BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR), |
| EX(CMD_sprevious, "sprevious", ex_previous, |
| ! EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_srewind, "srewind", ex_rewind, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_stop, "stop", ex_stop, |
| ! TRLBAR|BANG|CMDWIN), |
| EX(CMD_stag, "stag", ex_stag, |
| ! RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR), |
| EX(CMD_startinsert, "startinsert", ex_startinsert, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_startgreplace, "startgreplace", ex_startinsert, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_startreplace, "startreplace", ex_startinsert, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_stopinsert, "stopinsert", ex_stopinsert, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_stjump, "stjump", ex_stag, |
| ! BANG|TRLBAR|WORD1), |
| EX(CMD_stselect, "stselect", ex_stag, |
| ! BANG|TRLBAR|WORD1), |
| EX(CMD_sunhide, "sunhide", ex_buffer_all, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_sunmap, "sunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_sunmenu, "sunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_suspend, "suspend", ex_stop, |
| ! TRLBAR|BANG|CMDWIN), |
| EX(CMD_sview, "sview", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_swapname, "swapname", ex_swapname, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_syntax, "syntax", ex_syntax, |
| ! EXTRA|NOTRLCOM|CMDWIN), |
| EX(CMD_syntime, "syntime", ex_syntime, |
| ! NEEDARG|WORD1|TRLBAR|CMDWIN), |
| EX(CMD_syncbind, "syncbind", ex_syncbind, |
| ! TRLBAR), |
| EX(CMD_t, "t", ex_copymove, |
| ! RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY), |
| EX(CMD_tNext, "tNext", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_tag, "tag", ex_tag, |
| ! RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR), |
| EX(CMD_tags, "tags", do_tags, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_tab, "tab", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_tabclose, "tabclose", ex_tabclose, |
| ! RANGE|NOTADR|COUNT|BANG|TRLBAR|CMDWIN), |
| EX(CMD_tabdo, "tabdo", ex_listdo, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_tabedit, "tabedit", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_tabfind, "tabfind", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|NEEDARG|TRLBAR), |
| EX(CMD_tabfirst, "tabfirst", ex_tabnext, |
| ! TRLBAR), |
| EX(CMD_tabmove, "tabmove", ex_tabmove, |
| ! RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR), |
| EX(CMD_tablast, "tablast", ex_tabnext, |
| ! TRLBAR), |
| EX(CMD_tabnext, "tabnext", ex_tabnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_tabnew, "tabnew", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_tabonly, "tabonly", ex_tabonly, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_tabprevious, "tabprevious", ex_tabnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_tabNext, "tabNext", ex_tabnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_tabrewind, "tabrewind", ex_tabnext, |
| ! TRLBAR), |
| EX(CMD_tabs, "tabs", ex_tabs, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_tcl, "tcl", ex_tcl, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_tcldo, "tcldo", ex_tcldo, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN), |
| EX(CMD_tclfile, "tclfile", ex_tclfile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN), |
| EX(CMD_tearoff, "tearoff", ex_tearoff, |
| ! NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN), |
| EX(CMD_tfirst, "tfirst", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_throw, "throw", ex_throw, |
| ! EXTRA|NEEDARG|SBOXOK|CMDWIN), |
| EX(CMD_tjump, "tjump", ex_tag, |
| ! BANG|TRLBAR|WORD1), |
| EX(CMD_tlast, "tlast", ex_tag, |
| ! BANG|TRLBAR), |
| EX(CMD_tmenu, "tmenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_tnext, "tnext", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_topleft, "topleft", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_tprevious, "tprevious", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_trewind, "trewind", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR), |
| EX(CMD_try, "try", ex_try, |
| ! TRLBAR|SBOXOK|CMDWIN), |
| EX(CMD_tselect, "tselect", ex_tag, |
| ! BANG|TRLBAR|WORD1), |
| EX(CMD_tunmenu, "tunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_undo, "undo", ex_undo, |
| ! RANGE|NOTADR|COUNT|ZEROR|TRLBAR|CMDWIN), |
| EX(CMD_undojoin, "undojoin", ex_undojoin, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_undolist, "undolist", ex_undolist, |
| ! TRLBAR|CMDWIN), |
| EX(CMD_unabbreviate, "unabbreviate", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_unhide, "unhide", ex_buffer_all, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_unlet, "unlet", ex_unlet, |
| ! BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN), |
| EX(CMD_unlockvar, "unlockvar", ex_lockvar, |
| ! BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN), |
| EX(CMD_unmap, "unmap", ex_unmap, |
| ! BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_unmenu, "unmenu", ex_menu, |
| ! BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_unsilent, "unsilent", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN), |
| EX(CMD_update, "update", ex_update, |
| ! RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR), |
| EX(CMD_vglobal, "vglobal", ex_global, |
| ! RANGE|WHOLEFOLD|EXTRA|DFLALL|CMDWIN), |
| EX(CMD_version, "version", ex_version, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_verbose, "verbose", ex_wrongmodifier, |
| ! NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN), |
| EX(CMD_vertical, "vertical", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_visual, "visual", ex_edit, |
| ! BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_view, "view", ex_edit, |
| ! BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_vimgrep, "vimgrep", ex_vimgrep, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), |
| EX(CMD_vimgrepadd, "vimgrepadd", ex_vimgrep, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), |
| EX(CMD_viusage, "viusage", ex_viusage, |
| ! TRLBAR), |
| EX(CMD_vmap, "vmap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_vmapclear, "vmapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_vmenu, "vmenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_vnoremap, "vnoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_vnew, "vnew", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_vnoremenu, "vnoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_vsplit, "vsplit", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_vunmap, "vunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_vunmenu, "vunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_write, "write", ex_write, |
| ! RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN), |
| EX(CMD_wNext, "wNext", ex_wnext, |
| ! RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR), |
| EX(CMD_wall, "wall", do_wqall, |
| ! BANG|TRLBAR|CMDWIN), |
| EX(CMD_while, "while", ex_while, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN), |
| EX(CMD_winsize, "winsize", ex_winsize, |
| ! EXTRA|NEEDARG|TRLBAR), |
| EX(CMD_wincmd, "wincmd", ex_wincmd, |
| ! NEEDARG|WORD1|RANGE|NOTADR), |
| EX(CMD_windo, "windo", ex_listdo, |
| ! BANG|NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_winpos, "winpos", ex_winpos, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_wnext, "wnext", ex_wnext, |
| ! RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR), |
| EX(CMD_wprevious, "wprevious", ex_wnext, |
| ! RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR), |
| EX(CMD_wq, "wq", ex_exit, |
| ! RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR), |
| EX(CMD_wqall, "wqall", do_wqall, |
| ! BANG|FILE1|ARGOPT|DFLALL|TRLBAR), |
| EX(CMD_wsverb, "wsverb", ex_wsverb, |
| ! EXTRA|NOTADR|NEEDARG), |
| EX(CMD_wundo, "wundo", ex_wundo, |
| ! BANG|NEEDARG|FILE1), |
| EX(CMD_wviminfo, "wviminfo", ex_viminfo, |
| ! BANG|FILE1|TRLBAR|CMDWIN), |
| EX(CMD_xit, "xit", ex_exit, |
| ! RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN), |
| EX(CMD_xall, "xall", do_wqall, |
| ! BANG|TRLBAR), |
| EX(CMD_xmap, "xmap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_xmapclear, "xmapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_xmenu, "xmenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_xnoremap, "xnoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_xnoremenu, "xnoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_xunmap, "xunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_xunmenu, "xunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_yank, "yank", ex_operators, |
| ! RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN), |
| EX(CMD_z, "z", ex_z, |
| ! RANGE|WHOLEFOLD|EXTRA|EXFLAGS|TRLBAR|CMDWIN), |
| |
| /* commands that don't start with a lowercase letter */ |
| EX(CMD_bang, "!", ex_bang, |
| ! RANGE|WHOLEFOLD|BANG|FILES|CMDWIN), |
| EX(CMD_pound, "#", ex_print, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN), |
| EX(CMD_and, "&", do_sub, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), |
| EX(CMD_star, "*", ex_at, |
| ! RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_lshift, "<", ex_operators, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY), |
| EX(CMD_equal, "=", ex_equal, |
| ! RANGE|TRLBAR|DFLALL|EXFLAGS|CMDWIN), |
| EX(CMD_rshift, ">", ex_operators, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY), |
| EX(CMD_at, "@", ex_at, |
| ! RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN), |
| EX(CMD_Next, "Next", ex_previous, |
| ! EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR), |
| EX(CMD_Print, "Print", ex_print, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN), |
| EX(CMD_X, "X", ex_X, |
| ! TRLBAR), |
| EX(CMD_tilde, "~", do_sub, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), |
| |
| #ifndef DO_DECLARE_EXCMD |
| #ifdef FEAT_USR_CMDS |
| --- 91,1678 ---- |
| char_u *cmd_name; /* name of the command */ |
| ex_func_T cmd_func; /* function for this command */ |
| long_u cmd_argt; /* flags declared above */ |
| + int cmd_addr_type; /* flag for address type */ |
| } |
| # if defined(FEAT_GUI_W16) |
| _far |
| # endif |
| cmdnames[] = |
| #else |
| ! # define EX(a, b, c, d, e) a |
| enum CMD_index |
| #endif |
| { |
| EX(CMD_append, "append", ex_append, |
| ! BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_abbreviate, "abbreviate", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_abclear, "abclear", ex_abclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_all, "all", ex_all, |
| ! BANG|RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_amenu, "amenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_anoremenu, "anoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_args, "args", ex_args, |
| ! BANG|FILES|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_argadd, "argadd", ex_argadd, |
| ! BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR, |
| ! ADDR_ARGUMENTS), |
| EX(CMD_argdelete, "argdelete", ex_argdelete, |
| ! BANG|RANGE|NOTADR|FILES|TRLBAR, |
| ! ADDR_ARGUMENTS), |
| EX(CMD_argdo, "argdo", ex_listdo, |
| ! BANG|NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_argedit, "argedit", ex_argedit, |
| ! BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_ARGUMENTS), |
| EX(CMD_argglobal, "argglobal", ex_args, |
| ! BANG|FILES|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_arglocal, "arglocal", ex_args, |
| ! BANG|FILES|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_argument, "argument", ex_argument, |
| ! BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_ARGUMENTS), |
| EX(CMD_ascii, "ascii", do_ascii, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_autocmd, "autocmd", ex_autocmd, |
| ! BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_augroup, "augroup", ex_autocmd, |
| ! BANG|WORD1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_aunmenu, "aunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_buffer, "buffer", ex_buffer, |
| ! BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR, |
| ! ADDR_UNLOADED_BUFFERS), |
| EX(CMD_bNext, "bNext", ex_bprevious, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_ball, "ball", ex_buffer_all, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_badd, "badd", ex_edit, |
| ! NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_bdelete, "bdelete", ex_bunload, |
| ! BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR, |
| ! ADDR_LOADED_BUFFERS), |
| EX(CMD_behave, "behave", ex_behave, |
| ! NEEDARG|WORD1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_belowright, "belowright", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_bfirst, "bfirst", ex_brewind, |
| ! BANG|RANGE|NOTADR|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_blast, "blast", ex_blast, |
| ! BANG|RANGE|NOTADR|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_bmodified, "bmodified", ex_bmodified, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_bnext, "bnext", ex_bnext, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_botright, "botright", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_bprevious, "bprevious", ex_bprevious, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_brewind, "brewind", ex_brewind, |
| ! BANG|RANGE|NOTADR|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_break, "break", ex_break, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_breakadd, "breakadd", ex_breakadd, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_breakdel, "breakdel", ex_breakdel, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_breaklist, "breaklist", ex_breaklist, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_browse, "browse", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_buffers, "buffers", buflist_list, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_bufdo, "bufdo", ex_listdo, |
| ! BANG|NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_bunload, "bunload", ex_bunload, |
| ! BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR, |
| ! ADDR_LOADED_BUFFERS), |
| EX(CMD_bwipeout, "bwipeout", ex_bunload, |
| ! BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR, |
| ! ADDR_UNLOADED_BUFFERS), |
| EX(CMD_change, "change", ex_change, |
| ! BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_cNext, "cNext", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cNfile, "cNfile", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cabbrev, "cabbrev", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cabclear, "cabclear", ex_abclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_caddbuffer, "caddbuffer", ex_cbuffer, |
| ! RANGE|NOTADR|WORD1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_caddexpr, "caddexpr", ex_cexpr, |
| ! NEEDARG|WORD1|NOTRLCOM|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_caddfile, "caddfile", ex_cfile, |
| ! TRLBAR|FILE1, |
| ! ADDR_LINES), |
| EX(CMD_call, "call", ex_call, |
| ! RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_catch, "catch", ex_catch, |
| ! EXTRA|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cbuffer, "cbuffer", ex_cbuffer, |
| ! BANG|RANGE|NOTADR|WORD1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_cc, "cc", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cclose, "cclose", ex_cclose, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_cd, "cd", ex_cd, |
| ! BANG|FILE1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_center, "center", ex_align, |
| ! TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_cexpr, "cexpr", ex_cexpr, |
| ! NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cfile, "cfile", ex_cfile, |
| ! TRLBAR|FILE1|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cfirst, "cfirst", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cgetfile, "cgetfile", ex_cfile, |
| ! TRLBAR|FILE1, |
| ! ADDR_LINES), |
| EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer, |
| ! RANGE|NOTADR|WORD1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_cgetexpr, "cgetexpr", ex_cexpr, |
| ! NEEDARG|WORD1|NOTRLCOM|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_chdir, "chdir", ex_cd, |
| ! BANG|FILE1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_changes, "changes", ex_changes, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_checkpath, "checkpath", ex_checkpath, |
| ! TRLBAR|BANG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_checktime, "checktime", ex_checktime, |
| ! RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_clist, "clist", qf_list, |
| ! BANG|EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_clast, "clast", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_close, "close", ex_close, |
| ! BANG|RANGE|NOTADR|COUNT|TRLBAR|CMDWIN, |
| ! ADDR_WINDOWS), |
| EX(CMD_cmap, "cmap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cmapclear, "cmapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cmenu, "cmenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cnext, "cnext", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cnewer, "cnewer", qf_age, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_cnfile, "cnfile", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cnoremap, "cnoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cnoreabbrev, "cnoreabbrev", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cnoremenu, "cnoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_copy, "copy", ex_copymove, |
| ! RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_colder, "colder", qf_age, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_colorscheme, "colorscheme", ex_colorscheme, |
| ! WORD1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_command, "command", ex_command, |
| ! EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_comclear, "comclear", ex_comclear, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_compiler, "compiler", ex_compiler, |
| ! BANG|TRLBAR|WORD1|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_continue, "continue", ex_continue, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_confirm, "confirm", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_copen, "copen", ex_copen, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_cprevious, "cprevious", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cpfile, "cpfile", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cquit, "cquit", ex_cquit, |
| ! TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_crewind, "crewind", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_cscope, "cscope", do_cscope, |
| ! EXTRA|NOTRLCOM|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_cstag, "cstag", do_cstag, |
| ! BANG|TRLBAR|WORD1, |
| ! ADDR_LINES), |
| EX(CMD_cunmap, "cunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cunabbrev, "cunabbrev", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cunmenu, "cunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_cwindow, "cwindow", ex_cwindow, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_delete, "delete", ex_operators, |
| ! RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_delmarks, "delmarks", ex_delmarks, |
| ! BANG|EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_debug, "debug", ex_debug, |
| ! NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_debuggreedy, "debuggreedy", ex_debuggreedy, |
| ! RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_delcommand, "delcommand", ex_delcommand, |
| ! NEEDARG|WORD1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_delfunction, "delfunction", ex_delfunction, |
| ! NEEDARG|WORD1|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_display, "display", ex_display, |
| ! EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_diffupdate, "diffupdate", ex_diffupdate, |
| ! BANG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_diffget, "diffget", ex_diffgetput, |
| ! RANGE|EXTRA|TRLBAR|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_diffoff, "diffoff", ex_diffoff, |
| ! BANG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_diffpatch, "diffpatch", ex_diffpatch, |
| ! EXTRA|FILE1|TRLBAR|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_diffput, "diffput", ex_diffgetput, |
| ! RANGE|EXTRA|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_diffsplit, "diffsplit", ex_diffsplit, |
| ! EXTRA|FILE1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_diffthis, "diffthis", ex_diffthis, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_digraphs, "digraphs", ex_digraphs, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_djump, "djump", ex_findpat, |
| ! BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA, |
| ! ADDR_LINES), |
| EX(CMD_dlist, "dlist", ex_findpat, |
| ! BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_doautocmd, "doautocmd", ex_doautocmd, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_doautoall, "doautoall", ex_doautoall, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_drop, "drop", ex_drop, |
| ! FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_dsearch, "dsearch", ex_findpat, |
| ! BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_dsplit, "dsplit", ex_findpat, |
| ! BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA, |
| ! ADDR_LINES), |
| EX(CMD_edit, "edit", ex_edit, |
| ! BANG|FILE1|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_earlier, "earlier", ex_later, |
| ! TRLBAR|EXTRA|NOSPC|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_echo, "echo", ex_echo, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_echoerr, "echoerr", ex_execute, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_echohl, "echohl", ex_echohl, |
| ! EXTRA|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_echomsg, "echomsg", ex_execute, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_echon, "echon", ex_echo, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_else, "else", ex_else, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_elseif, "elseif", ex_else, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_emenu, "emenu", ex_emenu, |
| ! NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_endif, "endif", ex_endif, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_endfunction, "endfunction", ex_endfunction, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_endfor, "endfor", ex_endwhile, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_endtry, "endtry", ex_endtry, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_endwhile, "endwhile", ex_endwhile, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_enew, "enew", ex_edit, |
| ! BANG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_ex, "ex", ex_edit, |
| ! BANG|FILE1|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_execute, "execute", ex_execute, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_exit, "exit", ex_exit, |
| ! RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_exusage, "exusage", ex_exusage, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_file, "file", ex_file, |
| ! RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_files, "files", buflist_list, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_filetype, "filetype", ex_filetype, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_find, "find", ex_find, |
| ! RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_finally, "finally", ex_finally, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_finish, "finish", ex_finish, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_first, "first", ex_rewind, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_fixdel, "fixdel", do_fixdel, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_fold, "fold", ex_fold, |
| ! RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_foldclose, "foldclose", ex_foldopen, |
| ! RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_folddoopen, "folddoopen", ex_folddo, |
| ! RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_folddoclosed, "folddoclosed", ex_folddo, |
| ! RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_foldopen, "foldopen", ex_foldopen, |
| ! RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_for, "for", ex_while, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_function, "function", ex_function, |
| ! EXTRA|BANG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_global, "global", ex_global, |
| ! RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_goto, "goto", ex_goto, |
| ! RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_grep, "grep", ex_make, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_grepadd, "grepadd", ex_make, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_gui, "gui", ex_gui, |
| ! BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_gvim, "gvim", ex_gui, |
| ! BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_help, "help", ex_help, |
| ! BANG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_helpclose, "helpclose", ex_helpclose, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_helpfind, "helpfind", ex_helpfind, |
| ! EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_helpgrep, "helpgrep", ex_helpgrep, |
| ! EXTRA|NOTRLCOM|NEEDARG, |
| ! ADDR_LINES), |
| EX(CMD_helptags, "helptags", ex_helptags, |
| ! NEEDARG|FILES|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_hardcopy, "hardcopy", ex_hardcopy, |
| ! RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG, |
| ! ADDR_LINES), |
| EX(CMD_highlight, "highlight", ex_highlight, |
| ! BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_hide, "hide", ex_hide, |
| ! BANG|RANGE|NOTADR|COUNT|EXTRA|NOTRLCOM, |
| ! ADDR_WINDOWS), |
| EX(CMD_history, "history", ex_history, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_insert, "insert", ex_append, |
| ! BANG|RANGE|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_iabbrev, "iabbrev", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_iabclear, "iabclear", ex_abclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_if, "if", ex_if, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_ijump, "ijump", ex_findpat, |
| ! BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA, |
| ! ADDR_LINES), |
| EX(CMD_ilist, "ilist", ex_findpat, |
| ! BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_imap, "imap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_imapclear, "imapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_imenu, "imenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_inoremap, "inoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_inoreabbrev, "inoreabbrev", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_inoremenu, "inoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_intro, "intro", ex_intro, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_isearch, "isearch", ex_findpat, |
| ! BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_isplit, "isplit", ex_findpat, |
| ! BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA, |
| ! ADDR_LINES), |
| EX(CMD_iunmap, "iunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_iunabbrev, "iunabbrev", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_iunmenu, "iunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_join, "join", ex_join, |
| ! BANG|RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_jumps, "jumps", ex_jumps, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_k, "k", ex_mark, |
| ! RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_keepmarks, "keepmarks", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_keeppatterns, "keeppatterns", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_keepalt, "keepalt", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_list, "list", ex_print, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lNext, "lNext", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_lNfile, "lNfile", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_last, "last", ex_last, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_language, "language", ex_language, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_laddexpr, "laddexpr", ex_cexpr, |
| ! NEEDARG|WORD1|NOTRLCOM|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_laddbuffer, "laddbuffer", ex_cbuffer, |
| ! RANGE|NOTADR|WORD1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_laddfile, "laddfile", ex_cfile, |
| ! TRLBAR|FILE1, |
| ! ADDR_LINES), |
| EX(CMD_later, "later", ex_later, |
| ! TRLBAR|EXTRA|NOSPC|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lbuffer, "lbuffer", ex_cbuffer, |
| ! BANG|RANGE|NOTADR|WORD1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_lcd, "lcd", ex_cd, |
| ! BANG|FILE1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lchdir, "lchdir", ex_cd, |
| ! BANG|FILE1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lclose, "lclose", ex_cclose, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_lcscope, "lcscope", do_cscope, |
| ! EXTRA|NOTRLCOM|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_left, "left", ex_align, |
| ! TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_leftabove, "leftabove", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_let, "let", ex_let, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lexpr, "lexpr", ex_cexpr, |
| ! NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_lfile, "lfile", ex_cfile, |
| ! TRLBAR|FILE1|BANG, |
| ! ADDR_LINES), |
| EX(CMD_lfirst, "lfirst", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_lgetfile, "lgetfile", ex_cfile, |
| ! TRLBAR|FILE1, |
| ! ADDR_LINES), |
| EX(CMD_lgetbuffer, "lgetbuffer", ex_cbuffer, |
| ! RANGE|NOTADR|WORD1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_lgetexpr, "lgetexpr", ex_cexpr, |
| ! NEEDARG|WORD1|NOTRLCOM|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_lgrep, "lgrep", ex_make, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_lgrepadd, "lgrepadd", ex_make, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_lhelpgrep, "lhelpgrep", ex_helpgrep, |
| ! EXTRA|NOTRLCOM|NEEDARG, |
| ! ADDR_LINES), |
| EX(CMD_ll, "ll", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_llast, "llast", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_llist, "llist", qf_list, |
| ! BANG|EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lmap, "lmap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lmapclear, "lmapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lmake, "lmake", ex_make, |
| ! BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_lnoremap, "lnoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lnext, "lnext", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_lnewer, "lnewer", qf_age, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_lnfile, "lnfile", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_loadview, "loadview", ex_loadview, |
| ! FILE1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_loadkeymap, "loadkeymap", ex_loadkeymap, |
| ! CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lockmarks, "lockmarks", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_lockvar, "lockvar", ex_lockvar, |
| ! BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lolder, "lolder", qf_age, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_lopen, "lopen", ex_copen, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_lprevious, "lprevious", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_lpfile, "lpfile", ex_cnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_lrewind, "lrewind", ex_cc, |
| ! RANGE|NOTADR|COUNT|TRLBAR|BANG, |
| ! ADDR_LINES), |
| EX(CMD_ltag, "ltag", ex_tag, |
| ! NOTADR|TRLBAR|BANG|WORD1, |
| ! ADDR_LINES), |
| EX(CMD_lunmap, "lunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lua, "lua", ex_lua, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_luado, "luado", ex_luado, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_luafile, "luafile", ex_luafile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_lvimgrepadd, "lvimgrepadd", ex_vimgrep, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_lwindow, "lwindow", ex_cwindow, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_ls, "ls", buflist_list, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_move, "move", ex_copymove, |
| ! RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_mark, "mark", ex_mark, |
| ! RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_make, "make", ex_make, |
| ! BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_map, "map", ex_map, |
| ! BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_mapclear, "mapclear", ex_mapclear, |
| ! EXTRA|BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_marks, "marks", do_marks, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_match, "match", ex_match, |
| ! RANGE|NOTADR|EXTRA|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_menu, "menu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_menutranslate, "menutranslate", ex_menutranslate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_messages, "messages", ex_messages, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_mkexrc, "mkexrc", ex_mkrc, |
| ! BANG|FILE1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_mksession, "mksession", ex_mkrc, |
| ! BANG|FILE1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_mkspell, "mkspell", ex_mkspell, |
| ! BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_mkvimrc, "mkvimrc", ex_mkrc, |
| ! BANG|FILE1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_mkview, "mkview", ex_mkrc, |
| ! BANG|FILE1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_mode, "mode", ex_mode, |
| ! WORD1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_mzscheme, "mzscheme", ex_mzscheme, |
| ! RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK, |
| ! ADDR_LINES), |
| EX(CMD_mzfile, "mzfile", ex_mzfile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_next, "next", ex_next, |
| ! RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_nbkey, "nbkey", ex_nbkey, |
| ! EXTRA|NOTADR|NEEDARG, |
| ! ADDR_LINES), |
| EX(CMD_nbclose, "nbclose", ex_nbclose, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_nbstart, "nbstart", ex_nbstart, |
| ! WORD1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_new, "new", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_nmap, "nmap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_nmapclear, "nmapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_nmenu, "nmenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_nnoremap, "nnoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_nnoremenu, "nnoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_noremap, "noremap", ex_map, |
| ! BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_noautocmd, "noautocmd", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_noremenu, "noremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_noswapfile, "noswapfile", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_normal, "normal", ex_normal, |
| ! RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_number, "number", ex_print, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_nunmap, "nunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_nunmenu, "nunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_open, "open", ex_open, |
| ! RANGE|BANG|EXTRA, |
| ! ADDR_LINES), |
| EX(CMD_oldfiles, "oldfiles", ex_oldfiles, |
| ! BANG|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_omap, "omap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_omapclear, "omapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_omenu, "omenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_only, "only", ex_only, |
| ! BANG|NOTADR|RANGE|COUNT|TRLBAR, |
| ! ADDR_WINDOWS), |
| EX(CMD_onoremap, "onoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_onoremenu, "onoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_options, "options", ex_options, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_ounmap, "ounmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_ounmenu, "ounmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_ownsyntax, "ownsyntax", ex_ownsyntax, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_print, "print", ex_print, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|SBOXOK, |
| ! ADDR_LINES), |
| EX(CMD_pclose, "pclose", ex_pclose, |
| ! BANG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_perl, "perl", ex_perl, |
| ! RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_perldo, "perldo", ex_perldo, |
| ! RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_pedit, "pedit", ex_pedit, |
| ! BANG|FILE1|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_pop, "pop", ex_tag, |
| ! RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_popup, "popup", ex_popup, |
| ! NEEDARG|EXTRA|BANG|TRLBAR|NOTRLCOM|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_ppop, "ppop", ex_ptag, |
| ! RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_preserve, "preserve", ex_preserve, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_previous, "previous", ex_previous, |
| ! EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_promptfind, "promptfind", gui_mch_find_dialog, |
| ! EXTRA|NOTRLCOM|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_promptrepl, "promptrepl", gui_mch_replace_dialog, |
| ! EXTRA|NOTRLCOM|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_profile, "profile", ex_profile, |
| ! BANG|EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_profdel, "profdel", ex_breakdel, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_psearch, "psearch", ex_psearch, |
| ! BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA, |
| ! ADDR_LINES), |
| EX(CMD_ptag, "ptag", ex_ptag, |
| ! RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_ptNext, "ptNext", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_ptfirst, "ptfirst", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_ptjump, "ptjump", ex_ptag, |
| ! BANG|TRLBAR|WORD1, |
| ! ADDR_LINES), |
| EX(CMD_ptlast, "ptlast", ex_ptag, |
| ! BANG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_ptnext, "ptnext", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_ptprevious, "ptprevious", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_ptrewind, "ptrewind", ex_ptag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_ptselect, "ptselect", ex_ptag, |
| ! BANG|TRLBAR|WORD1, |
| ! ADDR_LINES), |
| EX(CMD_put, "put", ex_put, |
| ! RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_pwd, "pwd", ex_pwd, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_python, "python", ex_python, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_pydo, "pydo", ex_pydo, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_pyfile, "pyfile", ex_pyfile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_py3, "py3", ex_py3, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_py3do, "py3do", ex_py3do, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_python3, "python3", ex_py3, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_py3file, "py3file", ex_py3file, |
| ! RANGE|FILE1|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_quit, "quit", ex_quit, |
| ! BANG|RANGE|COUNT|NOTADR|TRLBAR|CMDWIN, |
| ! ADDR_WINDOWS), |
| EX(CMD_quitall, "quitall", ex_quit_all, |
| ! BANG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_qall, "qall", ex_quit_all, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_read, "read", ex_read, |
| ! BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_recover, "recover", ex_recover, |
| ! BANG|FILE1|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_redo, "redo", ex_redo, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_redir, "redir", ex_redir, |
| ! BANG|FILES|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_redraw, "redraw", ex_redraw, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_redrawstatus, "redrawstatus", ex_redrawstatus, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_registers, "registers", ex_display, |
| ! EXTRA|NOTRLCOM|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_resize, "resize", ex_resize, |
| ! RANGE|NOTADR|TRLBAR|WORD1, |
| ! ADDR_LINES), |
| EX(CMD_retab, "retab", ex_retab, |
| ! TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_return, "return", ex_return, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_rewind, "rewind", ex_rewind, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_right, "right", ex_align, |
| ! TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_rightbelow, "rightbelow", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_runtime, "runtime", ex_runtime, |
| ! BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_ruby, "ruby", ex_ruby, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_rubydo, "rubydo", ex_rubydo, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_rubyfile, "rubyfile", ex_rubyfile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_rundo, "rundo", ex_rundo, |
| ! NEEDARG|FILE1, |
| ! ADDR_LINES), |
| EX(CMD_rviminfo, "rviminfo", ex_viminfo, |
| ! BANG|FILE1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_substitute, "substitute", do_sub, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_sNext, "sNext", ex_previous, |
| ! EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sargument, "sargument", ex_argument, |
| ! BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_ARGUMENTS), |
| EX(CMD_sall, "sall", ex_all, |
| ! BANG|RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sandbox, "sandbox", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_saveas, "saveas", ex_write, |
| ! BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sbuffer, "sbuffer", ex_buffer, |
| ! BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR, |
| ! ADDR_UNLOADED_BUFFERS), |
| EX(CMD_sbNext, "sbNext", ex_bprevious, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sball, "sball", ex_buffer_all, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sbfirst, "sbfirst", ex_brewind, |
| ! EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sblast, "sblast", ex_blast, |
| ! EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sbmodified, "sbmodified", ex_bmodified, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sbnext, "sbnext", ex_bnext, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sbprevious, "sbprevious", ex_bprevious, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sbrewind, "sbrewind", ex_brewind, |
| ! EDITCMD|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_scriptnames, "scriptnames", ex_scriptnames, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding, |
| ! WORD1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_scscope, "scscope", do_scscope, |
| ! EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_set, "set", ex_set, |
| ! TRLBAR|EXTRA|CMDWIN|SBOXOK, |
| ! ADDR_LINES), |
| EX(CMD_setfiletype, "setfiletype", ex_setfiletype, |
| ! TRLBAR|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_setglobal, "setglobal", ex_set, |
| ! TRLBAR|EXTRA|CMDWIN|SBOXOK, |
| ! ADDR_LINES), |
| EX(CMD_setlocal, "setlocal", ex_set, |
| ! TRLBAR|EXTRA|CMDWIN|SBOXOK, |
| ! ADDR_LINES), |
| EX(CMD_sfind, "sfind", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sfirst, "sfirst", ex_rewind, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_shell, "shell", ex_shell, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_simalt, "simalt", ex_simalt, |
| ! NEEDARG|WORD1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_sign, "sign", ex_sign, |
| ! NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_silent, "silent", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_sleep, "sleep", ex_sleep, |
| ! RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_slast, "slast", ex_last, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_smagic, "smagic", ex_submagic, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_smap, "smap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_smapclear, "smapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_smenu, "smenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_snext, "snext", ex_next, |
| ! RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sniff, "sniff", ex_sniff, |
| ! EXTRA|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_snomagic, "snomagic", ex_submagic, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_snoremap, "snoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_snoremenu, "snoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_source, "source", ex_source, |
| ! BANG|FILE1|TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_sort, "sort", ex_sort, |
| ! RANGE|DFLALL|WHOLEFOLD|BANG|EXTRA|NOTRLCOM|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_split, "split", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_spellgood, "spellgood", ex_spell, |
| ! BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_spelldump, "spelldump", ex_spelldump, |
| ! BANG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_spellinfo, "spellinfo", ex_spellinfo, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_spellrepall, "spellrepall", ex_spellrepall, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_spellundo, "spellundo", ex_spell, |
| ! BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_spellwrong, "spellwrong", ex_spell, |
| ! BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sprevious, "sprevious", ex_previous, |
| ! EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_srewind, "srewind", ex_rewind, |
| ! EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_stop, "stop", ex_stop, |
| ! TRLBAR|BANG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_stag, "stag", ex_stag, |
| ! RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_startinsert, "startinsert", ex_startinsert, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_startgreplace, "startgreplace", ex_startinsert, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_startreplace, "startreplace", ex_startinsert, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_stopinsert, "stopinsert", ex_stopinsert, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_stjump, "stjump", ex_stag, |
| ! BANG|TRLBAR|WORD1, |
| ! ADDR_LINES), |
| EX(CMD_stselect, "stselect", ex_stag, |
| ! BANG|TRLBAR|WORD1, |
| ! ADDR_LINES), |
| EX(CMD_sunhide, "sunhide", ex_buffer_all, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_sunmap, "sunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_sunmenu, "sunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_suspend, "suspend", ex_stop, |
| ! TRLBAR|BANG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_sview, "sview", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_swapname, "swapname", ex_swapname, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_syntax, "syntax", ex_syntax, |
| ! EXTRA|NOTRLCOM|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_syntime, "syntime", ex_syntime, |
| ! NEEDARG|WORD1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_syncbind, "syncbind", ex_syncbind, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_t, "t", ex_copymove, |
| ! RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_tNext, "tNext", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_tag, "tag", ex_tag, |
| ! RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_tags, "tags", do_tags, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_tab, "tab", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_tabclose, "tabclose", ex_tabclose, |
| ! RANGE|NOTADR|COUNT|BANG|TRLBAR|CMDWIN, |
| ! ADDR_TABS), |
| EX(CMD_tabdo, "tabdo", ex_listdo, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_tabedit, "tabedit", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_TABS), |
| EX(CMD_tabfind, "tabfind", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|NEEDARG|TRLBAR, |
| ! ADDR_TABS), |
| EX(CMD_tabfirst, "tabfirst", ex_tabnext, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_tabmove, "tabmove", ex_tabmove, |
| ! RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR, |
| ! ADDR_TABS), |
| EX(CMD_tablast, "tablast", ex_tabnext, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_tabnext, "tabnext", ex_tabnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_tabnew, "tabnew", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_TABS), |
| EX(CMD_tabonly, "tabonly", ex_tabonly, |
| ! BANG|RANGE|NOTADR|TRLBAR|CMDWIN, |
| ! ADDR_TABS), |
| EX(CMD_tabprevious, "tabprevious", ex_tabnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_tabNext, "tabNext", ex_tabnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_tabrewind, "tabrewind", ex_tabnext, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_tabs, "tabs", ex_tabs, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_tcl, "tcl", ex_tcl, |
| ! RANGE|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_tcldo, "tcldo", ex_tcldo, |
| ! RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_tclfile, "tclfile", ex_tclfile, |
| ! RANGE|FILE1|NEEDARG|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_tearoff, "tearoff", ex_tearoff, |
| ! NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_tfirst, "tfirst", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_throw, "throw", ex_throw, |
| ! EXTRA|NEEDARG|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_tjump, "tjump", ex_tag, |
| ! BANG|TRLBAR|WORD1, |
| ! ADDR_LINES), |
| EX(CMD_tlast, "tlast", ex_tag, |
| ! BANG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_tmenu, "tmenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_tnext, "tnext", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_topleft, "topleft", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_tprevious, "tprevious", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_trewind, "trewind", ex_tag, |
| ! RANGE|NOTADR|BANG|TRLBAR|ZEROR, |
| ! ADDR_LINES), |
| EX(CMD_try, "try", ex_try, |
| ! TRLBAR|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_tselect, "tselect", ex_tag, |
| ! BANG|TRLBAR|WORD1, |
| ! ADDR_LINES), |
| EX(CMD_tunmenu, "tunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_undo, "undo", ex_undo, |
| ! RANGE|NOTADR|COUNT|ZEROR|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_undojoin, "undojoin", ex_undojoin, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_undolist, "undolist", ex_undolist, |
| ! TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_unabbreviate, "unabbreviate", ex_abbreviate, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_unhide, "unhide", ex_buffer_all, |
| ! RANGE|NOTADR|COUNT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_unlet, "unlet", ex_unlet, |
| ! BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_unlockvar, "unlockvar", ex_lockvar, |
| ! BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_unmap, "unmap", ex_unmap, |
| ! BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_unmenu, "unmenu", ex_menu, |
| ! BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_unsilent, "unsilent", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_update, "update", ex_update, |
| ! RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_vglobal, "vglobal", ex_global, |
| ! RANGE|WHOLEFOLD|EXTRA|DFLALL|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_version, "version", ex_version, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_verbose, "verbose", ex_wrongmodifier, |
| ! NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_vertical, "vertical", ex_wrongmodifier, |
| ! NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_visual, "visual", ex_edit, |
| ! BANG|FILE1|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_view, "view", ex_edit, |
| ! BANG|FILE1|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_vimgrep, "vimgrep", ex_vimgrep, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_vimgrepadd, "vimgrepadd", ex_vimgrep, |
| ! RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, |
| ! ADDR_LINES), |
| EX(CMD_viusage, "viusage", ex_viusage, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_vmap, "vmap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_vmapclear, "vmapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_vmenu, "vmenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_vnoremap, "vnoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_vnew, "vnew", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_vnoremenu, "vnoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_vsplit, "vsplit", ex_splitview, |
| ! BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_vunmap, "vunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_vunmenu, "vunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_write, "write", ex_write, |
| ! RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_wNext, "wNext", ex_wnext, |
| ! RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_wall, "wall", do_wqall, |
| ! BANG|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_while, "while", ex_while, |
| ! EXTRA|NOTRLCOM|SBOXOK|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_winsize, "winsize", ex_winsize, |
| ! EXTRA|NEEDARG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_wincmd, "wincmd", ex_wincmd, |
| ! NEEDARG|WORD1|RANGE|NOTADR, |
| ! ADDR_LINES), |
| EX(CMD_windo, "windo", ex_listdo, |
| ! BANG|NEEDARG|EXTRA|NOTRLCOM, |
| ! ADDR_LINES), |
| EX(CMD_winpos, "winpos", ex_winpos, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_wnext, "wnext", ex_wnext, |
| ! RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_wprevious, "wprevious", ex_wnext, |
| ! RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_wq, "wq", ex_exit, |
| ! RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_wqall, "wqall", do_wqall, |
| ! BANG|FILE1|ARGOPT|DFLALL|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_wsverb, "wsverb", ex_wsverb, |
| ! EXTRA|NOTADR|NEEDARG, |
| ! ADDR_LINES), |
| EX(CMD_wundo, "wundo", ex_wundo, |
| ! BANG|NEEDARG|FILE1, |
| ! ADDR_LINES), |
| EX(CMD_wviminfo, "wviminfo", ex_viminfo, |
| ! BANG|FILE1|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_xit, "xit", ex_exit, |
| ! RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_xall, "xall", do_wqall, |
| ! BANG|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_xmap, "xmap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_xmapclear, "xmapclear", ex_mapclear, |
| ! EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_xmenu, "xmenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_xnoremap, "xnoremap", ex_map, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_xnoremenu, "xnoremenu", ex_menu, |
| ! RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_xunmap, "xunmap", ex_unmap, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_xunmenu, "xunmenu", ex_menu, |
| ! EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_yank, "yank", ex_operators, |
| ! RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_z, "z", ex_z, |
| ! RANGE|WHOLEFOLD|EXTRA|EXFLAGS|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| |
| /* commands that don't start with a lowercase letter */ |
| EX(CMD_bang, "!", ex_bang, |
| ! RANGE|WHOLEFOLD|BANG|FILES|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_pound, "#", ex_print, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_and, "&", do_sub, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_star, "*", ex_at, |
| ! RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_lshift, "<", ex_operators, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_equal, "=", ex_equal, |
| ! RANGE|TRLBAR|DFLALL|EXFLAGS|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_rshift, ">", ex_operators, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| EX(CMD_at, "@", ex_at, |
| ! RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_Next, "Next", ex_previous, |
| ! EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_Print, "Print", ex_print, |
| ! RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN, |
| ! ADDR_LINES), |
| EX(CMD_X, "X", ex_X, |
| ! TRLBAR, |
| ! ADDR_LINES), |
| EX(CMD_tilde, "~", do_sub, |
| ! RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY, |
| ! ADDR_LINES), |
| |
| #ifndef DO_DECLARE_EXCMD |
| #ifdef FEAT_USR_CMDS |
| |
| *** 1172,1177 **** |
| --- 1704,1710 ---- |
| int addr_count; /* the number of addresses given */ |
| linenr_T line1; /* the first line number */ |
| linenr_T line2; /* the second line number or count */ |
| + int addr_type; /* type of the count/range */ |
| int flags; /* extra flags after count: EXFLAG_ */ |
| char_u *do_ecmd_cmd; /* +command arg to be used in edited file */ |
| linenr_T do_ecmd_lnum; /* the line number in an edited file */ |
| |
| |
| |
| *** 60,65 **** |
| --- 60,66 ---- |
| # define IS_USER_CMDIDX(idx) (FALSE) |
| #endif |
| |
| + static int compute_buffer_local_count __ARGS((int addr_type, int lnum, int local)); |
| #ifdef FEAT_EVAL |
| static char_u *do_one_cmd __ARGS((char_u **, int, struct condstack *, char_u *(*fgetline)(int, void *, int), void *cookie)); |
| #else |
| |
| *** 133,139 **** |
| #endif |
| |
| static int check_more __ARGS((int, int)); |
| ! static linenr_T get_address __ARGS((char_u **, int skip, int to_other_file)); |
| static void get_flags __ARGS((exarg_T *eap)); |
| #if !defined(FEAT_PERL) \ |
| || !defined(FEAT_PYTHON) || !defined(FEAT_PYTHON3) \ |
| --- 134,140 ---- |
| #endif |
| |
| static int check_more __ARGS((int, int)); |
| ! static linenr_T get_address __ARGS((char_u **, int addr_type, int skip, int to_other_file)); |
| static void get_flags __ARGS((exarg_T *eap)); |
| #if !defined(FEAT_PERL) \ |
| || !defined(FEAT_PYTHON) || !defined(FEAT_PYTHON3) \ |
| |
| *** 1680,1685 **** |
| --- 1681,1719 ---- |
| } |
| #endif |
| |
| + |
| + /* |
| + * Helper function to apply an offset for buffer commands, i.e. ":bdelete", |
| + * ":bwipeout", etc. |
| + * Returns the buffer number. |
| + */ |
| + static int |
| + compute_buffer_local_count(addr_type, lnum, offset) |
| + int addr_type; |
| + int lnum; |
| + int offset; |
| + { |
| + buf_T *buf; |
| + int count = offset; |
| + |
| + buf = firstbuf; |
| + while (buf->b_next != NULL && buf->b_fnum < lnum) |
| + buf = buf->b_next; |
| + while (count != 0) |
| + { |
| + count += (count < 0) ? 1 : -1; |
| + if (buf->b_prev == NULL) |
| + break; |
| + buf = (count < 0) ? buf->b_prev : buf->b_next; |
| + if (addr_type == ADDR_LOADED_BUFFERS) |
| + /* skip over unloaded buffers */ |
| + while (buf->b_prev != NULL && buf->b_ml.ml_mfp == NULL) |
| + buf = (count < 0) ? buf->b_prev : buf->b_next; |
| + } |
| + return buf->b_fnum; |
| + } |
| + |
| + |
| /* |
| * Execute one Ex command. |
| * |
| |
| *** 1687,1696 **** |
| * |
| * 1. skip comment lines and leading space |
| * 2. handle command modifiers |
| ! * 3. parse range |
| ! * 4. parse command |
| ! * 5. parse arguments |
| ! * 6. switch on command name |
| * |
| * Note: "fgetline" can be NULL. |
| * |
| --- 1721,1730 ---- |
| * |
| * 1. skip comment lines and leading space |
| * 2. handle command modifiers |
| ! * 3. parse command |
| ! * 4. parse range |
| ! * 6. parse arguments |
| ! * 7. switch on command name |
| * |
| * Note: "fgetline" can be NULL. |
| * |
| |
| *** 1730,1735 **** |
| --- 1764,1772 ---- |
| #endif |
| cmdmod_T save_cmdmod; |
| int ni; /* set when Not Implemented */ |
| + win_T *wp; |
| + tabpage_T *tp; |
| + char_u *cmd; |
| |
| vim_memset(&ea, 0, sizeof(ea)); |
| ea.line1 = 1; |
| |
| *** 1769,1775 **** |
| for (;;) |
| { |
| /* |
| ! * 1. skip comment lines and leading white space and colons |
| */ |
| while (*ea.cmd == ' ' || *ea.cmd == '\t' || *ea.cmd == ':') |
| ++ea.cmd; |
| --- 1806,1812 ---- |
| for (;;) |
| { |
| /* |
| ! * 1. Skip comment lines and leading white space and colons. |
| */ |
| while (*ea.cmd == ' ' || *ea.cmd == '\t' || *ea.cmd == ':') |
| ++ea.cmd; |
| |
| *** 1794,1800 **** |
| } |
| |
| /* |
| ! * 2. handle command modifiers. |
| */ |
| p = ea.cmd; |
| if (VIM_ISDIGIT(*ea.cmd)) |
| --- 1831,1837 ---- |
| } |
| |
| /* |
| ! * 2. Handle command modifiers. |
| */ |
| p = ea.cmd; |
| if (VIM_ISDIGIT(*ea.cmd)) |
| |
| *** 2003,2009 **** |
| #endif |
| |
| /* |
| ! * 3. parse a range specifier of the form: addr [,addr] [;addr] .. |
| * |
| * where 'addr' is: |
| * |
| --- 2040,2057 ---- |
| #endif |
| |
| /* |
| ! * 3. Skip over the range to find the command. Let "p" point to after it. |
| ! * |
| ! * We need the command to know what kind of range it uses. |
| ! */ |
| ! cmd = ea.cmd; |
| ! ea.cmd = skip_range(ea.cmd, NULL); |
| ! if (*ea.cmd == '*' && vim_strchr(p_cpo, CPO_STAR) == NULL) |
| ! ea.cmd = skipwhite(ea.cmd + 1); |
| ! p = find_command(&ea, NULL); |
| ! |
| ! /* |
| ! * 4. parse a range specifier of the form: addr [,addr] [;addr] .. |
| * |
| * where 'addr' is: |
| * |
| |
| *** 2019,2031 **** |
| * is equal to the lower. |
| */ |
| |
| /* repeat for all ',' or ';' separated addresses */ |
| for (;;) |
| { |
| ea.line1 = ea.line2; |
| ! ea.line2 = curwin->w_cursor.lnum; /* default is current line number */ |
| ea.cmd = skipwhite(ea.cmd); |
| ! lnum = get_address(&ea.cmd, ea.skip, ea.addr_count == 0); |
| if (ea.cmd == NULL) /* error detected */ |
| goto doend; |
| if (lnum == MAXLNUM) |
| --- 2067,2118 ---- |
| * is equal to the lower. |
| */ |
| |
| + if (ea.cmdidx != CMD_SIZE) |
| + ea.addr_type = cmdnames[(int)ea.cmdidx].cmd_addr_type; |
| + else |
| + ea.addr_type = ADDR_LINES; |
| + ea.cmd = cmd; |
| + |
| /* repeat for all ',' or ';' separated addresses */ |
| for (;;) |
| { |
| ea.line1 = ea.line2; |
| ! switch (ea.addr_type) |
| ! { |
| ! case ADDR_LINES: |
| ! /* default is current line number */ |
| ! ea.line2 = curwin->w_cursor.lnum; |
| ! break; |
| ! case ADDR_WINDOWS: |
| ! lnum = 0; |
| ! for (wp = firstwin; wp != NULL; wp = wp->w_next) |
| ! { |
| ! lnum++; |
| ! if (wp == curwin) |
| ! break; |
| ! } |
| ! ea.line2 = lnum; |
| ! break; |
| ! case ADDR_ARGUMENTS: |
| ! ea.line2 = curwin->w_arg_idx + 1; |
| ! break; |
| ! case ADDR_LOADED_BUFFERS: |
| ! case ADDR_UNLOADED_BUFFERS: |
| ! ea.line2 = curbuf->b_fnum; |
| ! break; |
| ! case ADDR_TABS: |
| ! lnum = 0; |
| ! for(tp = first_tabpage; tp != NULL; tp = tp->tp_next) |
| ! { |
| ! lnum++; |
| ! if (tp == curtab) |
| ! break; |
| ! } |
| ! ea.line2 = lnum; |
| ! break; |
| ! } |
| ea.cmd = skipwhite(ea.cmd); |
| ! lnum = get_address(&ea.cmd, ea.addr_type, ea.skip, ea.addr_count == 0); |
| if (ea.cmd == NULL) /* error detected */ |
| goto doend; |
| if (lnum == MAXLNUM) |
| |
| *** 2033,2040 **** |
| if (*ea.cmd == '%') /* '%' - all lines */ |
| { |
| ++ea.cmd; |
| ! ea.line1 = 1; |
| ! ea.line2 = curbuf->b_ml.ml_line_count; |
| ++ea.addr_count; |
| } |
| /* '*' - visual area */ |
| --- 2120,2143 ---- |
| if (*ea.cmd == '%') /* '%' - all lines */ |
| { |
| ++ea.cmd; |
| ! switch (ea.addr_type) |
| ! { |
| ! case ADDR_LINES: |
| ! ea.line1 = 1; |
| ! ea.line2 = curbuf->b_ml.ml_line_count; |
| ! break; |
| ! case ADDR_WINDOWS: |
| ! case ADDR_LOADED_BUFFERS: |
| ! case ADDR_UNLOADED_BUFFERS: |
| ! case ADDR_TABS: |
| ! errormsg = (char_u *)_(e_invrange); |
| ! goto doend; |
| ! break; |
| ! case ADDR_ARGUMENTS: |
| ! ea.line1 = 1; |
| ! ea.line2 = ARGCOUNT; |
| ! break; |
| ! } |
| ++ea.addr_count; |
| } |
| /* '*' - visual area */ |
| |
| *** 2042,2047 **** |
| --- 2145,2156 ---- |
| { |
| pos_T *fp; |
| |
| + if (ea.addr_type != ADDR_LINES) |
| + { |
| + errormsg = (char_u *)_(e_invrange); |
| + goto doend; |
| + } |
| + |
| ++ea.cmd; |
| if (!ea.skip) |
| { |
| |
| *** 2084,2090 **** |
| check_cursor_lnum(); |
| |
| /* |
| ! * 4. parse command |
| */ |
| |
| /* |
| --- 2193,2199 ---- |
| check_cursor_lnum(); |
| |
| /* |
| ! * 5. Parse the command. |
| */ |
| |
| /* |
| |
| *** 2098,2105 **** |
| * If we got a line, but no command, then go to the line. |
| * If we find a '|' or '\n' we set ea.nextcmd. |
| */ |
| ! if (*ea.cmd == NUL || *ea.cmd == '"' || |
| ! (ea.nextcmd = check_nextcmd(ea.cmd)) != NULL) |
| { |
| /* |
| * strange vi behaviour: |
| --- 2207,2214 ---- |
| * If we got a line, but no command, then go to the line. |
| * If we find a '|' or '\n' we set ea.nextcmd. |
| */ |
| ! if (*ea.cmd == NUL || *ea.cmd == '"' |
| ! || (ea.nextcmd = check_nextcmd(ea.cmd)) != NULL) |
| { |
| /* |
| * strange vi behaviour: |
| |
| *** 2145,2153 **** |
| goto doend; |
| } |
| |
| - /* Find the command and let "p" point to after it. */ |
| - p = find_command(&ea, NULL); |
| - |
| #ifdef FEAT_AUTOCMD |
| /* If this looks like an undefined user command and there are CmdUndefined |
| * autocommands defined, trigger the matching autocommands. */ |
| --- 2254,2259 ---- |
| |
| *** 2229,2235 **** |
| ea.forceit = FALSE; |
| |
| /* |
| ! * 5. parse arguments |
| */ |
| if (!IS_USER_CMDIDX(ea.cmdidx)) |
| ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt; |
| --- 2335,2341 ---- |
| ea.forceit = FALSE; |
| |
| /* |
| ! * 5. Parse arguments. |
| */ |
| if (!IS_USER_CMDIDX(ea.cmdidx)) |
| ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt; |
| |
| *** 2676,2682 **** |
| #endif |
| |
| /* |
| ! * 6. switch on command name |
| * |
| * The "ea" structure holds the arguments that can be used. |
| */ |
| --- 2782,2788 ---- |
| #endif |
| |
| /* |
| ! * 6. Switch on command name. |
| * |
| * The "ea" structure holds the arguments that can be used. |
| */ |
| |
| *** 4082,4089 **** |
| * Return MAXLNUM when no Ex address was found. |
| */ |
| static linenr_T |
| ! get_address(ptr, skip, to_other_file) |
| char_u **ptr; |
| int skip; /* only skip the address, don't use it */ |
| int to_other_file; /* flag: may jump to other file */ |
| { |
| --- 4188,4196 ---- |
| * Return MAXLNUM when no Ex address was found. |
| */ |
| static linenr_T |
| ! get_address(ptr, addr_type, skip, to_other_file) |
| char_u **ptr; |
| + int addr_type; /* flag: one of ADDR_LINES, ... */ |
| int skip; /* only skip the address, don't use it */ |
| int to_other_file; /* flag: may jump to other file */ |
| { |
| |
| *** 4094,4099 **** |
| --- 4201,4208 ---- |
| pos_T pos; |
| pos_T *fp; |
| linenr_T lnum; |
| + win_T *wp; |
| + tabpage_T *tp; |
| |
| cmd = skipwhite(*ptr); |
| lnum = MAXLNUM; |
| |
| *** 4102,4238 **** |
| switch (*cmd) |
| { |
| case '.': /* '.' - Cursor position */ |
| ! ++cmd; |
| lnum = curwin->w_cursor.lnum; |
| break; |
| |
| case '$': /* '$' - last line */ |
| ! ++cmd; |
| lnum = curbuf->b_ml.ml_line_count; |
| break; |
| |
| case '\'': /* ''' - mark */ |
| ! if (*++cmd == NUL) |
| { |
| cmd = NULL; |
| goto error; |
| } |
| ! if (skip) |
| ! ++cmd; |
| ! else |
| ! { |
| ! /* Only accept a mark in another file when it is |
| ! * used by itself: ":'M". */ |
| ! fp = getmark(*cmd, to_other_file && cmd[1] == NUL); |
| ! ++cmd; |
| ! if (fp == (pos_T *)-1) |
| ! /* Jumped to another file. */ |
| ! lnum = curwin->w_cursor.lnum; |
| ! else |
| ! { |
| ! if (check_mark(fp) == FAIL) |
| ! { |
| ! cmd = NULL; |
| ! goto error; |
| ! } |
| ! lnum = fp->lnum; |
| ! } |
| ! } |
| ! break; |
| |
| case '/': |
| case '?': /* '/' or '?' - search */ |
| ! c = *cmd++; |
| ! if (skip) /* skip "/pat/" */ |
| ! { |
| ! cmd = skip_regexp(cmd, c, (int)p_magic, NULL); |
| ! if (*cmd == c) |
| ! ++cmd; |
| ! } |
| ! else |
| ! { |
| ! pos = curwin->w_cursor; /* save curwin->w_cursor */ |
| ! /* |
| ! * When '/' or '?' follows another address, start |
| ! * from there. |
| ! */ |
| ! if (lnum != MAXLNUM) |
| ! curwin->w_cursor.lnum = lnum; |
| ! /* |
| ! * Start a forward search at the end of the line. |
| ! * Start a backward search at the start of the line. |
| ! * This makes sure we never match in the current |
| ! * line, and can match anywhere in the |
| ! * next/previous line. |
| ! */ |
| ! if (c == '/') |
| ! curwin->w_cursor.col = MAXCOL; |
| ! else |
| ! curwin->w_cursor.col = 0; |
| ! searchcmdlen = 0; |
| ! if (!do_search(NULL, c, cmd, 1L, |
| ! SEARCH_HIS | SEARCH_MSG, NULL)) |
| ! { |
| ! curwin->w_cursor = pos; |
| ! cmd = NULL; |
| ! goto error; |
| ! } |
| ! lnum = curwin->w_cursor.lnum; |
| ! curwin->w_cursor = pos; |
| ! /* adjust command string pointer */ |
| ! cmd += searchcmdlen; |
| ! } |
| ! break; |
| |
| case '\\': /* "\?", "\/" or "\&", repeat search */ |
| ! ++cmd; |
| ! if (*cmd == '&') |
| ! i = RE_SUBST; |
| ! else if (*cmd == '?' || *cmd == '/') |
| ! i = RE_SEARCH; |
| ! else |
| ! { |
| ! EMSG(_(e_backslash)); |
| ! cmd = NULL; |
| ! goto error; |
| ! } |
| |
| ! if (!skip) |
| ! { |
| ! /* |
| ! * When search follows another address, start from |
| ! * there. |
| ! */ |
| ! if (lnum != MAXLNUM) |
| ! pos.lnum = lnum; |
| ! else |
| ! pos.lnum = curwin->w_cursor.lnum; |
| |
| ! /* |
| ! * Start the search just like for the above |
| ! * do_search(). |
| ! */ |
| ! if (*cmd != '?') |
| ! pos.col = MAXCOL; |
| ! else |
| ! pos.col = 0; |
| ! if (searchit(curwin, curbuf, &pos, |
| ! *cmd == '?' ? BACKWARD : FORWARD, |
| ! (char_u *)"", 1L, SEARCH_MSG, |
| ! i, (linenr_T)0, NULL) != FAIL) |
| ! lnum = pos.lnum; |
| ! else |
| ! { |
| ! cmd = NULL; |
| ! goto error; |
| ! } |
| ! } |
| ! ++cmd; |
| ! break; |
| |
| default: |
| ! if (VIM_ISDIGIT(*cmd)) /* absolute line number */ |
| ! lnum = getdigits(&cmd); |
| } |
| |
| for (;;) |
| --- 4211,4414 ---- |
| switch (*cmd) |
| { |
| case '.': /* '.' - Cursor position */ |
| ! ++cmd; |
| ! switch (addr_type) |
| ! { |
| ! case ADDR_LINES: |
| lnum = curwin->w_cursor.lnum; |
| break; |
| + case ADDR_WINDOWS: |
| + lnum = 0; |
| + for (wp = firstwin; wp != NULL; wp = wp->w_next) |
| + { |
| + lnum++; |
| + if (wp == curwin) |
| + break; |
| + } |
| + break; |
| + case ADDR_ARGUMENTS: |
| + lnum = curwin->w_arg_idx + 1; |
| + break; |
| + case ADDR_LOADED_BUFFERS: |
| + case ADDR_UNLOADED_BUFFERS: |
| + lnum = curbuf->b_fnum; |
| + break; |
| + case ADDR_TABS: |
| + lnum = 0; |
| + for(tp = first_tabpage; tp != NULL; tp = tp->tp_next) |
| + { |
| + lnum++; |
| + if (tp == curtab) |
| + break; |
| + } |
| + break; |
| + } |
| + break; |
| |
| case '$': /* '$' - last line */ |
| ! ++cmd; |
| ! switch (addr_type) |
| ! { |
| ! case ADDR_LINES: |
| lnum = curbuf->b_ml.ml_line_count; |
| break; |
| + case ADDR_WINDOWS: |
| + lnum = 0; |
| + for (wp = firstwin; wp != NULL; wp = wp->w_next) |
| + lnum++; |
| + break; |
| + case ADDR_ARGUMENTS: |
| + lnum = ARGCOUNT; |
| + break; |
| + case ADDR_LOADED_BUFFERS: |
| + case ADDR_UNLOADED_BUFFERS: |
| + lnum = lastbuf->b_fnum; |
| + break; |
| + case ADDR_TABS: |
| + lnum = 0; |
| + for(tp = first_tabpage; tp != NULL; tp = tp->tp_next) |
| + lnum++; |
| + break; |
| + } |
| + break; |
| |
| case '\'': /* ''' - mark */ |
| ! if (*++cmd == NUL) |
| ! { |
| ! cmd = NULL; |
| ! goto error; |
| ! } |
| ! if (addr_type != ADDR_LINES) |
| ! { |
| ! EMSG(_(e_invaddr)); |
| ! goto error; |
| ! } |
| ! if (skip) |
| ! ++cmd; |
| ! else |
| ! { |
| ! /* Only accept a mark in another file when it is |
| ! * used by itself: ":'M". */ |
| ! fp = getmark(*cmd, to_other_file && cmd[1] == NUL); |
| ! ++cmd; |
| ! if (fp == (pos_T *)-1) |
| ! /* Jumped to another file. */ |
| ! lnum = curwin->w_cursor.lnum; |
| ! else |
| ! { |
| ! if (check_mark(fp) == FAIL) |
| { |
| cmd = NULL; |
| goto error; |
| } |
| ! lnum = fp->lnum; |
| ! } |
| ! } |
| ! break; |
| |
| case '/': |
| case '?': /* '/' or '?' - search */ |
| ! c = *cmd++; |
| ! if (addr_type != ADDR_LINES) |
| ! { |
| ! EMSG(_(e_invaddr)); |
| ! goto error; |
| ! } |
| ! if (skip) /* skip "/pat/" */ |
| ! { |
| ! cmd = skip_regexp(cmd, c, (int)p_magic, NULL); |
| ! if (*cmd == c) |
| ! ++cmd; |
| ! } |
| ! else |
| ! { |
| ! pos = curwin->w_cursor; /* save curwin->w_cursor */ |
| ! /* |
| ! * When '/' or '?' follows another address, start |
| ! * from there. |
| ! */ |
| ! if (lnum != MAXLNUM) |
| ! curwin->w_cursor.lnum = lnum; |
| ! /* |
| ! * Start a forward search at the end of the line. |
| ! * Start a backward search at the start of the line. |
| ! * This makes sure we never match in the current |
| ! * line, and can match anywhere in the |
| ! * next/previous line. |
| ! */ |
| ! if (c == '/') |
| ! curwin->w_cursor.col = MAXCOL; |
| ! else |
| ! curwin->w_cursor.col = 0; |
| ! searchcmdlen = 0; |
| ! if (!do_search(NULL, c, cmd, 1L, |
| ! SEARCH_HIS | SEARCH_MSG, NULL)) |
| ! { |
| ! curwin->w_cursor = pos; |
| ! cmd = NULL; |
| ! goto error; |
| ! } |
| ! lnum = curwin->w_cursor.lnum; |
| ! curwin->w_cursor = pos; |
| ! /* adjust command string pointer */ |
| ! cmd += searchcmdlen; |
| ! } |
| ! break; |
| |
| case '\\': /* "\?", "\/" or "\&", repeat search */ |
| ! ++cmd; |
| ! if (addr_type != ADDR_LINES) |
| ! { |
| ! EMSG(_(e_invaddr)); |
| ! goto error; |
| ! } |
| ! if (*cmd == '&') |
| ! i = RE_SUBST; |
| ! else if (*cmd == '?' || *cmd == '/') |
| ! i = RE_SEARCH; |
| ! else |
| ! { |
| ! EMSG(_(e_backslash)); |
| ! cmd = NULL; |
| ! goto error; |
| ! } |
| |
| ! if (!skip) |
| ! { |
| ! /* |
| ! * When search follows another address, start from |
| ! * there. |
| ! */ |
| ! if (lnum != MAXLNUM) |
| ! pos.lnum = lnum; |
| ! else |
| ! pos.lnum = curwin->w_cursor.lnum; |
| |
| ! /* |
| ! * Start the search just like for the above |
| ! * do_search(). |
| ! */ |
| ! if (*cmd != '?') |
| ! pos.col = MAXCOL; |
| ! else |
| ! pos.col = 0; |
| ! if (searchit(curwin, curbuf, &pos, |
| ! *cmd == '?' ? BACKWARD : FORWARD, |
| ! (char_u *)"", 1L, SEARCH_MSG, |
| ! i, (linenr_T)0, NULL) != FAIL) |
| ! lnum = pos.lnum; |
| ! else |
| ! { |
| ! cmd = NULL; |
| ! goto error; |
| ! } |
| ! } |
| ! ++cmd; |
| ! break; |
| |
| default: |
| ! if (VIM_ISDIGIT(*cmd)) /* absolute line number */ |
| ! lnum = getdigits(&cmd); |
| } |
| |
| for (;;) |
| |
| *** 4242,4248 **** |
| break; |
| |
| if (lnum == MAXLNUM) |
| ! lnum = curwin->w_cursor.lnum; /* "+1" is same as ".+1" */ |
| if (VIM_ISDIGIT(*cmd)) |
| i = '+'; /* "number" is same as "+number" */ |
| else |
| --- 4418,4457 ---- |
| break; |
| |
| if (lnum == MAXLNUM) |
| ! { |
| ! switch (addr_type) |
| ! { |
| ! case ADDR_LINES: |
| ! lnum = curwin->w_cursor.lnum; /* "+1" is same as ".+1" */ |
| ! break; |
| ! case ADDR_WINDOWS: |
| ! lnum = 0; |
| ! for (wp = firstwin; wp != NULL; wp = wp->w_next) |
| ! { |
| ! lnum++; |
| ! if (wp == curwin) |
| ! break; |
| ! } |
| ! break; |
| ! case ADDR_ARGUMENTS: |
| ! lnum = curwin->w_arg_idx + 1; |
| ! break; |
| ! case ADDR_LOADED_BUFFERS: |
| ! case ADDR_UNLOADED_BUFFERS: |
| ! lnum = curbuf->b_fnum; |
| ! break; |
| ! case ADDR_TABS: |
| ! lnum = 0; |
| ! for(tp = first_tabpage; tp != NULL; tp = tp->tp_next) |
| ! { |
| ! lnum++; |
| ! if (tp == curtab) |
| ! break; |
| ! } |
| ! break; |
| ! } |
| ! } |
| ! |
| if (VIM_ISDIGIT(*cmd)) |
| i = '+'; /* "number" is same as "+number" */ |
| else |
| |
| *** 4251,4260 **** |
| n = 1; |
| else |
| n = getdigits(&cmd); |
| ! if (i == '-') |
| lnum -= n; |
| else |
| lnum += n; |
| } |
| } while (*cmd == '/' || *cmd == '?'); |
| |
| --- 4460,4518 ---- |
| n = 1; |
| else |
| n = getdigits(&cmd); |
| ! if (addr_type == ADDR_LOADED_BUFFERS |
| ! || addr_type == ADDR_UNLOADED_BUFFERS) |
| ! lnum = compute_buffer_local_count(addr_type, lnum, n); |
| ! else if (i == '-') |
| lnum -= n; |
| else |
| lnum += n; |
| + |
| + switch (addr_type) |
| + { |
| + case ADDR_LINES: |
| + break; |
| + case ADDR_ARGUMENTS: |
| + if (lnum < 0) |
| + lnum = 0; |
| + else if (lnum >= ARGCOUNT) |
| + lnum = ARGCOUNT; |
| + break; |
| + case ADDR_TABS: |
| + if (lnum < 0) |
| + { |
| + lnum = 0; |
| + break; |
| + } |
| + c = 0; |
| + for (tp = first_tabpage; tp != NULL; tp = tp->tp_next) |
| + c++; |
| + if (lnum >= c) |
| + lnum = c; |
| + break; |
| + case ADDR_WINDOWS: |
| + if (lnum < 0) |
| + { |
| + lnum = 0; |
| + break; |
| + } |
| + c = 0; |
| + for (wp = firstwin; wp != NULL; wp = wp->w_next) |
| + c++; |
| + if (lnum > c) |
| + lnum = c; |
| + break; |
| + case ADDR_LOADED_BUFFERS: |
| + case ADDR_UNLOADED_BUFFERS: |
| + if (lnum < firstbuf->b_fnum) |
| + { |
| + lnum = firstbuf->b_fnum; |
| + break; |
| + } |
| + if (lnum > lastbuf->b_fnum) |
| + lnum = lastbuf->b_fnum; |
| + break; |
| + } |
| } |
| } while (*cmd == '/' || *cmd == '?'); |
| |
| |
| *** 6556,6561 **** |
| --- 6814,6823 ---- |
| ex_quit(eap) |
| exarg_T *eap; |
| { |
| + win_T *wp; |
| + buf_T *buf; |
| + int wnr; |
| + |
| #ifdef FEAT_CMDWIN |
| if (cmdwin_type != 0) |
| { |
| |
| *** 6569,6579 **** |
| text_locked_msg(); |
| return; |
| } |
| #ifdef FEAT_AUTOCMD |
| apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf); |
| /* Refuse to quit when locked or when the buffer in the last window is |
| * being closed (can only happen in autocommands). */ |
| ! if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_closing)) |
| return; |
| #endif |
| |
| --- 6831,6858 ---- |
| text_locked_msg(); |
| return; |
| } |
| + if (eap->addr_count > 0) |
| + { |
| + wnr = eap->line2; |
| + for (wp = firstwin; --wnr > 0; ) |
| + { |
| + if (wp->w_next == NULL) |
| + break; |
| + else |
| + wp = wp->w_next; |
| + } |
| + buf = wp->w_buffer; |
| + } |
| + else |
| + { |
| + wp = curwin; |
| + buf = curbuf; |
| + } |
| #ifdef FEAT_AUTOCMD |
| apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf); |
| /* Refuse to quit when locked or when the buffer in the last window is |
| * being closed (can only happen in autocommands). */ |
| ! if (curbuf_locked() || (buf->b_nwindows == 1 && buf->b_closing)) |
| return; |
| #endif |
| |
| |
| *** 6606,6612 **** |
| need_mouse_correct = TRUE; |
| # endif |
| /* close window; may free buffer */ |
| ! win_close(curwin, !P_HID(curwin->w_buffer) || eap->forceit); |
| #endif |
| } |
| } |
| --- 6885,6891 ---- |
| need_mouse_correct = TRUE; |
| # endif |
| /* close window; may free buffer */ |
| ! win_close(wp, !P_HID(wp->w_buffer) || eap->forceit); |
| #endif |
| } |
| } |
| |
| *** 6668,6673 **** |
| --- 6947,6954 ---- |
| ex_close(eap) |
| exarg_T *eap; |
| { |
| + win_T *win; |
| + int winnr = 0; |
| # ifdef FEAT_CMDWIN |
| if (cmdwin_type != 0) |
| cmdwin_result = Ctrl_C; |
| |
| *** 6678,6684 **** |
| && !curbuf_locked() |
| #endif |
| ) |
| ! ex_win_close(eap->forceit, curwin, NULL); |
| } |
| |
| # ifdef FEAT_QUICKFIX |
| --- 6959,6979 ---- |
| && !curbuf_locked() |
| #endif |
| ) |
| ! { |
| ! if (eap->addr_count == 0) |
| ! ex_win_close(eap->forceit, curwin, NULL); |
| ! else { |
| ! for (win = firstwin; win != NULL; win = win->w_next) |
| ! { |
| ! winnr++; |
| ! if (winnr == eap->line2) |
| ! break; |
| ! } |
| ! if (win == NULL) |
| ! win = lastwin; |
| ! ex_win_close(eap->forceit, win, NULL); |
| ! } |
| ! } |
| } |
| |
| # ifdef FEAT_QUICKFIX |
| |
| *** 6804,6809 **** |
| --- 7099,7106 ---- |
| MSG(_("Already only one tab page")); |
| else |
| { |
| + if (eap->addr_count > 0) |
| + goto_tabpage(eap->line2); |
| /* Repeat this up to a 1000 times, because autocommands may mess |
| * up the lists. */ |
| for (done = 0; done < 1000; ++done) |
| |
| *** 6882,6890 **** |
| --- 7179,7201 ---- |
| ex_only(eap) |
| exarg_T *eap; |
| { |
| + win_T *wp; |
| + int wnr; |
| # ifdef FEAT_GUI |
| need_mouse_correct = TRUE; |
| # endif |
| + if (eap->addr_count > 0) |
| + { |
| + wnr = eap->line2; |
| + for (wp = firstwin; --wnr > 0; ) |
| + { |
| + if (wp->w_next == NULL) |
| + break; |
| + else |
| + wp = wp->w_next; |
| + } |
| + win_goto(wp); |
| + } |
| close_others(TRUE, eap->forceit); |
| } |
| |
| |
| *** 6906,6911 **** |
| --- 7217,7225 ---- |
| ex_hide(eap) |
| exarg_T *eap; |
| { |
| + win_T *win; |
| + int winnr = 0; |
| + |
| if (*eap->arg != NUL && check_nextcmd(eap->arg) == NULL) |
| eap->errmsg = e_invarg; |
| else |
| |
| *** 6918,6924 **** |
| # ifdef FEAT_GUI |
| need_mouse_correct = TRUE; |
| # endif |
| ! win_close(curwin, FALSE); /* don't free buffer */ |
| } |
| #endif |
| } |
| --- 7232,7250 ---- |
| # ifdef FEAT_GUI |
| need_mouse_correct = TRUE; |
| # endif |
| ! if (eap->addr_count == 0) |
| ! win_close(curwin, FALSE); /* don't free buffer */ |
| ! else { |
| ! for (win = firstwin; win != NULL; win = win->w_next) |
| ! { |
| ! winnr++; |
| ! if (winnr == eap->line2) |
| ! break; |
| ! } |
| ! if (win == NULL) |
| ! win = lastwin; |
| ! win_close(win, FALSE); |
| ! } |
| } |
| #endif |
| } |
| |
| *** 8652,8658 **** |
| { |
| long n; |
| |
| ! n = get_address(&eap->arg, FALSE, FALSE); |
| if (eap->arg == NULL) /* error detected */ |
| { |
| eap->nextcmd = NULL; |
| --- 8978,8984 ---- |
| { |
| long n; |
| |
| ! n = get_address(&eap->arg, eap->addr_type, FALSE, FALSE); |
| if (eap->arg == NULL) /* error detected */ |
| { |
| eap->nextcmd = NULL; |
| |
| |
| |
| *** 36,44 **** |
| --- 36,46 ---- |
| test94.out test95.out test96.out test97.out test98.out \ |
| test99.out test100.out test101.out test102.out test103.out \ |
| test104.out test105.out test106.out test107.out \ |
| + test_argument_count.out \ |
| test_autoformat_join.out \ |
| test_breakindent.out \ |
| test_changelist.out \ |
| + test_close_count.out \ |
| test_eval.out \ |
| test_insertcount.out \ |
| test_listlbr.out \ |
| |
| *** 171,179 **** |
| --- 173,183 ---- |
| test105.out: test105.in |
| test106.out: test106.in |
| test107.out: test107.in |
| + test_argument_count.out: test_argument_count.in |
| test_autoformat_join.out: test_autoformat_join.in |
| test_breakindent.out: test_breakindent.in |
| test_changelist.out: test_changelist.in |
| + test_close_count.out: test_close_count.in |
| test_eval.out: test_eval.in |
| test_insertcount.out: test_insertcount.in |
| test_listlbr.out: test_listlbr.in |
| |
| |
| |
| *** 35,43 **** |
| --- 35,45 ---- |
| test94.out test95.out test96.out test98.out test99.out \ |
| test100.out test101.out test102.out test103.out test104.out \ |
| test105.out test106.out test107.out\ |
| + test_argument_count.out \ |
| test_autoformat_join.out \ |
| test_breakindent.out \ |
| test_changelist.out \ |
| + test_close_count.out \ |
| test_eval.out \ |
| test_insertcount.out \ |
| test_listlbr.out \ |
| |
| |
| |
| *** 57,65 **** |
| --- 57,67 ---- |
| test94.out test95.out test96.out test98.out test99.out \ |
| test100.out test101.out test102.out test103.out test104.out \ |
| test105.out test106.out test107.out \ |
| + test_argument_count.out \ |
| test_autoformat_join.out \ |
| test_breakindent.out \ |
| test_changelist.out \ |
| + test_close_count.out \ |
| test_eval.out \ |
| test_insertcount.out \ |
| test_listlbr.out \ |
| |
| |
| |
| *** 37,45 **** |
| --- 37,47 ---- |
| test94.out test95.out test96.out test98.out test99.out \ |
| test100.out test101.out test102.out test103.out test104.out \ |
| test105.out test106.out test107.out \ |
| + test_argument_count.out \ |
| test_autoformat_join.out \ |
| test_breakindent.out \ |
| test_changelist.out \ |
| + test_close_count.out \ |
| test_eval.out \ |
| test_insertcount.out \ |
| test_listlbr.out \ |
| |
| |
| |
| *** 4,10 **** |
| # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com> |
| # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu> |
| # |
| ! # Last change: 2014 Aug 16 |
| # |
| # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. |
| # Edit the lines in the Configuration section below to select. |
| --- 4,10 ---- |
| # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com> |
| # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu> |
| # |
| ! # Last change: 2014 Nov 27 |
| # |
| # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. |
| # Edit the lines in the Configuration section below to select. |
| |
| *** 45,51 **** |
| # It fails because VMS does not support this feature yet. |
| # WANT_MZSCH = YES |
| |
| ! # Comment out if you have ODS-5 file system |
| # HAVE_ODS5 = YES |
| |
| # Comment out if you have gzip on your system |
| --- 45,51 ---- |
| # It fails because VMS does not support this feature yet. |
| # WANT_MZSCH = YES |
| |
| ! # Comment out if you have ODS-5 file system |
| # HAVE_ODS5 = YES |
| |
| # Comment out if you have gzip on your system |
| |
| *** 54,63 **** |
| # Comment out if you have GNU compatible diff on your system |
| # HAVE_GDIFF = YES |
| |
| ! # Comment out if you have GNU compatible cksum on your system |
| # HAVE_CKSUM = YES |
| |
| ! # Comment out if you have ICONV support |
| # HAVE_ICONV = YES |
| |
| # Comment out if you have LUA support |
| --- 54,63 ---- |
| # Comment out if you have GNU compatible diff on your system |
| # HAVE_GDIFF = YES |
| |
| ! # Comment out if you have GNU compatible cksum on your system |
| # HAVE_CKSUM = YES |
| |
| ! # Comment out if you have ICONV support |
| # HAVE_ICONV = YES |
| |
| # Comment out if you have LUA support |
| |
| *** 96,104 **** |
| --- 96,106 ---- |
| test95.out test96.out test98.out test99.out \ |
| test100.out test101.out test103.out test104.out \ |
| test105.out test106.out test107.out \ |
| + test_argument_count.out \ |
| test_autoformat_join.out \ |
| test_breakindent.out \ |
| test_changelist.out \ |
| + test_close_count.out \ |
| test_eval.out \ |
| test_insertcount.out \ |
| test_listlbr.out \ |
| |
| |
| |
| *** 33,41 **** |
| --- 33,43 ---- |
| test94.out test95.out test96.out test97.out test98.out \ |
| test99.out test100.out test101.out test102.out test103.out \ |
| test104.out test105.out test106.out test107.out \ |
| + test_argument_count.out \ |
| test_autoformat_join.out \ |
| test_breakindent.out \ |
| test_changelist.out \ |
| + test_close_count.out \ |
| test_eval.out \ |
| test_insertcount.out \ |
| test_listlbr.out \ |
| |
| |
| |
| |
| --- 1,47 ---- |
| + Tests for :[count]argument! and :[count]argdelete vim: set ft=vim : |
| + |
| + STARTTEST |
| + :%argd |
| + :argadd a b c d |
| + :set hidden |
| + :let buffers = [] |
| + :augroup TEST |
| + :au BufEnter * call add(buffers, expand('%:t')) |
| + :augroup END |
| + :$argu |
| + :$-argu |
| + :-argu |
| + :1argu |
| + :+2argu |
| + :augroup TEST |
| + :au! |
| + :augroup END |
| + :let arglists = [] |
| + :.argd |
| + :call add(arglists, argv()) |
| + :-argd |
| + :call add(arglists, argv()) |
| + :$argd |
| + :call add(arglists, argv()) |
| + :1arga c |
| + :1arga b |
| + :$argu |
| + :+arga d |
| + :$arga x |
| + :call add(arglists, argv()) |
| + :$-10arga Y |
| + :call add(arglists, argv()) |
| + :%argd |
| + :call add(arglists, argv()) |
| + :arga a b c d e f |
| + :2,$-argd |
| + :call add(arglists, argv()) |
| + :e! test.out |
| + :call append(0, buffers) |
| + :let lnr = line('$') |
| + :call append(lnr, map(copy(arglists), 'join(v:val, " ")')) |
| + :w |
| + :qa! |
| + ENDTEST |
| + |
| + |
| |
| |
| |
| |
| --- 1,13 ---- |
| + d |
| + c |
| + b |
| + a |
| + c |
| + |
| + a b d |
| + a d |
| + a |
| + a b c d x |
| + Y a b c d x |
| + |
| + a f |
| |
| |
| |
| |
| --- 1,156 ---- |
| + Tests for :[count]close! and :[count]hide vim: set ft=vim : |
| + |
| + STARTTEST |
| + :let tests = [] |
| + :so tiny.vim |
| + :for i in range(5) |
| + :new |
| + :endfor |
| + :4wincmd w |
| + :close! |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :1close! |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :$close! |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :1wincmd w |
| + :2close! |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :1wincmd w |
| + :new |
| + :new |
| + :2wincmd w |
| + :-2close! |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :2wincmd w |
| + :+1close! |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :e! test.out |
| + :call append(0, map(copy(tests), 'join(v:val, " ")')) |
| + :w |
| + :only! |
| + :b1 |
| + ENDTEST |
| + |
| + STARTTEST |
| + :let tests = [] |
| + :so tiny.vim |
| + :for i in range(5) |
| + :new |
| + :endfor |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :4wincmd w |
| + :.hide |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :1hide |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :9hide |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :1wincmd w |
| + :2hide |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :1wincmd w |
| + :new |
| + :new |
| + :3wincmd w |
| + :-hide |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :2wincmd w |
| + :+hide |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :e! test.out |
| + :call append(line('$'), map(copy(tests), 'join(v:val, " ")')) |
| + Go |
| + :w |
| + :only! |
| + :b1 |
| + ENDTEST |
| + |
| + STARTTEST |
| + :let tests = [] |
| + :so tiny.vim |
| + :set hidden |
| + :for i in range(5) |
| + :new |
| + :endfor |
| + :1wincmd w |
| + :$ hide |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :$-1 close! |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :1wincmd w |
| + :.+close! |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :e! test.out |
| + :call append(line('$'), map(copy(tests), 'join(v:val, " ")')) |
| + Go |
| + :w |
| + :only! |
| + :b1 |
| + ENDTEST |
| + |
| + STARTTEST |
| + :let tests = [] |
| + :so tiny.vim |
| + :set hidden |
| + :for i in range(5) |
| + :new |
| + :endfor |
| + :4wincmd w |
| + c |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + 1c |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + 9c |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :1wincmd w |
| + 2c |
| + :let buffers = [] |
| + :windo call add(buffers, bufnr('%')) |
| + :call add(tests, buffers) |
| + :only! |
| + :e! test.out |
| + :call append(line('$'), map(copy(tests), 'join(v:val, " ")')) |
| + :w |
| + :qa! |
| + ENDTEST |
| + |
| + |
| |
| |
| |
| |
| --- 1,23 ---- |
| + 6 5 4 2 1 |
| + 5 4 2 1 |
| + 5 4 2 |
| + 5 2 |
| + 7 5 2 |
| + 7 5 |
| + |
| + 13 12 11 10 9 1 |
| + 13 12 11 9 1 |
| + 12 11 9 1 |
| + 12 11 9 |
| + 12 9 |
| + 15 12 9 |
| + 15 12 |
| + |
| + 20 19 18 17 16 |
| + 20 19 18 16 |
| + 20 18 16 |
| + |
| + 25 24 23 21 1 |
| + 24 23 21 1 |
| + 24 23 21 |
| + 24 21 |
| |
| |
| |
| *** 199,212 **** |
| case Ctrl_Q: |
| case 'q': |
| reset_VIsual_and_resel(); /* stop Visual mode */ |
| ! do_cmdline_cmd((char_u *)"quit"); |
| break; |
| |
| /* close current window */ |
| case Ctrl_C: |
| case 'c': |
| reset_VIsual_and_resel(); /* stop Visual mode */ |
| ! do_cmdline_cmd((char_u *)"close"); |
| break; |
| |
| #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) |
| --- 199,220 ---- |
| case Ctrl_Q: |
| case 'q': |
| reset_VIsual_and_resel(); /* stop Visual mode */ |
| ! STRCPY(cbuf, "quit"); |
| ! if (Prenum) |
| ! vim_snprintf((char *)cbuf + 4, sizeof(cbuf) - 5, |
| ! "%ld", Prenum); |
| ! do_cmdline_cmd(cbuf); |
| break; |
| |
| /* close current window */ |
| case Ctrl_C: |
| case 'c': |
| reset_VIsual_and_resel(); /* stop Visual mode */ |
| ! STRCPY(cbuf, "close"); |
| ! if (Prenum) |
| ! vim_snprintf((char *)cbuf + 5, sizeof(cbuf) - 5, |
| ! "%ld", Prenum); |
| ! do_cmdline_cmd(cbuf); |
| break; |
| |
| #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) |
| |
| *** 235,241 **** |
| case 'o': |
| CHECK_CMDWIN |
| reset_VIsual_and_resel(); /* stop Visual mode */ |
| ! do_cmdline_cmd((char_u *)"only"); |
| break; |
| |
| /* cursor to next window with wrap around */ |
| --- 243,253 ---- |
| case 'o': |
| CHECK_CMDWIN |
| reset_VIsual_and_resel(); /* stop Visual mode */ |
| ! STRCPY(cbuf, "only"); |
| ! if (Prenum > 0) |
| ! vim_snprintf((char *)cbuf + 4, sizeof(cbuf) - 4, |
| ! "%ld", Prenum); |
| ! do_cmdline_cmd(cbuf); |
| break; |
| |
| /* cursor to next window with wrap around */ |
| |
| |
| |
| *** 743,744 **** |
| --- 743,746 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 530, |
| /**/ |
| |
| -- |
| A fool must search for a greater fool to find admiration. |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ an exciting new programming language -- http://www.Zimbu.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |