diff --git a/src/Makefile b/src/Makefile
index 6bf8c17..13fe70b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1890,10 +1890,12 @@
 	done
 
 # Run individual test, assuming that Vim was already compiled.
-test1 test2 test3 test4 test5 test6 test7 test8 test9 \
+test1 \
+	test_argument_count \
 	test_autoformat_join \
 	test_breakindent \
 	test_changelist \
+	test_close_count \
 	test_eval \
 	test_insertcount \
 	test_listlbr \
@@ -1904,6 +1906,7 @@
 	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 \
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 93c7776..5574ea7 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -58,6 +58,14 @@
 #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,7 +82,7 @@
 # undef EX	    /* just in case */
 #endif
 #ifdef DO_DECLARE_EXCMD
-# define EX(a, b, c, d)  {(char_u *)b, c, (long_u)(d)}
+# 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,1064 +91,1588 @@
     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)  a
+# define EX(a, b, c, d, e)  a
 enum CMD_index
 #endif
 {
 EX(CMD_append,		"append",	ex_append,
-			BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY),
+			BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_abbreviate,	"abbreviate",	ex_abbreviate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_abclear,		"abclear",	ex_abclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_aboveleft,	"aboveleft",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_all,		"all",		ex_all,
-			BANG|RANGE|NOTADR|COUNT|TRLBAR),
+			BANG|RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_amenu,		"amenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_anoremenu,	"anoremenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_args,		"args",		ex_args,
-			BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_argadd,		"argadd",	ex_argadd,
-			BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR),
+			BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR,
+			ADDR_ARGUMENTS),
 EX(CMD_argdelete,	"argdelete",	ex_argdelete,
-			BANG|RANGE|NOTADR|FILES|TRLBAR),
+			BANG|RANGE|NOTADR|FILES|TRLBAR,
+			ADDR_ARGUMENTS),
 EX(CMD_argdo,		"argdo",	ex_listdo,
-			BANG|NEEDARG|EXTRA|NOTRLCOM),
+			BANG|NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_argedit,		"argedit",	ex_argedit,
-			BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|ARGOPT|TRLBAR),
+			BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_ARGUMENTS),
 EX(CMD_argglobal,	"argglobal",	ex_args,
-			BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_arglocal,	"arglocal",	ex_args,
-			BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_argument,	"argument",	ex_argument,
-			BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
+			BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_ARGUMENTS),
 EX(CMD_ascii,		"ascii",	do_ascii,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_autocmd,		"autocmd",	ex_autocmd,
-			BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN),
+			BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_augroup,		"augroup",	ex_autocmd,
-			BANG|WORD1|TRLBAR|CMDWIN),
+			BANG|WORD1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_aunmenu,		"aunmenu",	ex_menu,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_buffer,		"buffer",	ex_buffer,
-			BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR),
+			BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR,
+			ADDR_UNLOADED_BUFFERS),
 EX(CMD_bNext,		"bNext",	ex_bprevious,
-			BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR),
+			BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_ball,		"ball",		ex_buffer_all,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_badd,		"badd",		ex_edit,
-			NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN),
+			NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_bdelete,		"bdelete",	ex_bunload,
-			BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
+			BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR,
+			ADDR_LOADED_BUFFERS),
 EX(CMD_behave,		"behave",	ex_behave,
-			NEEDARG|WORD1|TRLBAR|CMDWIN),
+			NEEDARG|WORD1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_belowright,	"belowright",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_bfirst,		"bfirst",	ex_brewind,
-			BANG|RANGE|NOTADR|EDITCMD|TRLBAR),
+			BANG|RANGE|NOTADR|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_blast,		"blast",	ex_blast,
-			BANG|RANGE|NOTADR|EDITCMD|TRLBAR),
+			BANG|RANGE|NOTADR|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_bmodified,	"bmodified",	ex_bmodified,
-			BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR),
+			BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_bnext,		"bnext",	ex_bnext,
-			BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR),
+			BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_botright,	"botright",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_bprevious,	"bprevious",	ex_bprevious,
-			BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR),
+			BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_brewind,		"brewind",	ex_brewind,
-			BANG|RANGE|NOTADR|EDITCMD|TRLBAR),
+			BANG|RANGE|NOTADR|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_break,		"break",	ex_break,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_breakadd,	"breakadd",	ex_breakadd,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_breakdel,	"breakdel",	ex_breakdel,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_breaklist,	"breaklist",	ex_breaklist,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_browse,		"browse",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM|CMDWIN),
+			NEEDARG|EXTRA|NOTRLCOM|CMDWIN,
+			ADDR_LINES),
 EX(CMD_buffers,		"buffers",	buflist_list,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_bufdo,		"bufdo",	ex_listdo,
-			BANG|NEEDARG|EXTRA|NOTRLCOM),
+			BANG|NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_bunload,		"bunload",	ex_bunload,
-			BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
+			BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR,
+			ADDR_LOADED_BUFFERS),
 EX(CMD_bwipeout,	"bwipeout",	ex_bunload,
-			BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
+			BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR,
+			ADDR_UNLOADED_BUFFERS),
 EX(CMD_change,		"change",	ex_change,
-			BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY),
+			BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_cNext,		"cNext",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cNfile,		"cNfile",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cabbrev,		"cabbrev",	ex_abbreviate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cabclear,	"cabclear",	ex_abclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_caddbuffer,	"caddbuffer",	ex_cbuffer,
-			RANGE|NOTADR|WORD1|TRLBAR),
+			RANGE|NOTADR|WORD1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_caddexpr,	"caddexpr",	ex_cexpr,
-			NEEDARG|WORD1|NOTRLCOM|TRLBAR),
+			NEEDARG|WORD1|NOTRLCOM|TRLBAR,
+			ADDR_LINES),
 EX(CMD_caddfile,	"caddfile",	ex_cfile,
-			TRLBAR|FILE1),
+			TRLBAR|FILE1,
+			ADDR_LINES),
 EX(CMD_call,		"call",		ex_call,
-			RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_catch,		"catch",	ex_catch,
-			EXTRA|SBOXOK|CMDWIN),
+			EXTRA|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cbuffer,		"cbuffer",	ex_cbuffer,
-			BANG|RANGE|NOTADR|WORD1|TRLBAR),
+			BANG|RANGE|NOTADR|WORD1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_cc,		"cc",		ex_cc,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cclose,		"cclose",	ex_cclose,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_cd,		"cd",		ex_cd,
-			BANG|FILE1|TRLBAR|CMDWIN),
+			BANG|FILE1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_center,		"center",	ex_align,
-			TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
+			TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_cexpr,		"cexpr",	ex_cexpr,
-			NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),
+			NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cfile,		"cfile",	ex_cfile,
-			TRLBAR|FILE1|BANG),
+			TRLBAR|FILE1|BANG,
+			ADDR_LINES),
 EX(CMD_cfirst,		"cfirst",	ex_cc,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cgetfile,	"cgetfile",	ex_cfile,
-			TRLBAR|FILE1),
+			TRLBAR|FILE1,
+			ADDR_LINES),
 EX(CMD_cgetbuffer,	"cgetbuffer",	ex_cbuffer,
-			RANGE|NOTADR|WORD1|TRLBAR),
+			RANGE|NOTADR|WORD1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_cgetexpr,	"cgetexpr",	ex_cexpr,
-			NEEDARG|WORD1|NOTRLCOM|TRLBAR),
+			NEEDARG|WORD1|NOTRLCOM|TRLBAR,
+			ADDR_LINES),
 EX(CMD_chdir,		"chdir",	ex_cd,
-			BANG|FILE1|TRLBAR|CMDWIN),
+			BANG|FILE1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_changes,		"changes",	ex_changes,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_checkpath,	"checkpath",	ex_checkpath,
-			TRLBAR|BANG|CMDWIN),
+			TRLBAR|BANG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_checktime,	"checktime",	ex_checktime,
-			RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
+			RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR,
+			ADDR_LINES),
 EX(CMD_clist,		"clist",	qf_list,
-			BANG|EXTRA|TRLBAR|CMDWIN),
+			BANG|EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_clast,		"clast",	ex_cc,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_close,		"close",	ex_close,
-			BANG|TRLBAR|CMDWIN),
+			BANG|RANGE|NOTADR|COUNT|TRLBAR|CMDWIN,
+			ADDR_WINDOWS),
 EX(CMD_cmap,		"cmap",		ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cmapclear,	"cmapclear",	ex_mapclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cmenu,		"cmenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cnext,		"cnext",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cnewer,		"cnewer",	qf_age,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_cnfile,		"cnfile",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cnoremap,	"cnoremap",	ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cnoreabbrev,	"cnoreabbrev",	ex_abbreviate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cnoremenu,	"cnoremenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_copy,		"copy",		ex_copymove,
-			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
+			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_colder,		"colder",	qf_age,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_colorscheme,	"colorscheme",	ex_colorscheme,
-			WORD1|TRLBAR|CMDWIN),
+			WORD1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_command,		"command",	ex_command,
-			EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_comclear,	"comclear",	ex_comclear,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_compiler,	"compiler",	ex_compiler,
-			BANG|TRLBAR|WORD1|CMDWIN),
+			BANG|TRLBAR|WORD1|CMDWIN,
+			ADDR_LINES),
 EX(CMD_continue,	"continue",	ex_continue,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_confirm,		"confirm",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM|CMDWIN),
+			NEEDARG|EXTRA|NOTRLCOM|CMDWIN,
+			ADDR_LINES),
 EX(CMD_copen,		"copen",	ex_copen,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_cprevious,	"cprevious",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cpfile,		"cpfile",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cquit,		"cquit",	ex_cquit,
-			TRLBAR|BANG),
+			TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_crewind,		"crewind",	ex_cc,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_cscope,		"cscope",	do_cscope,
-			EXTRA|NOTRLCOM|XFILE),
+			EXTRA|NOTRLCOM|XFILE,
+			ADDR_LINES),
 EX(CMD_cstag,		"cstag",	do_cstag,
-			BANG|TRLBAR|WORD1),
+			BANG|TRLBAR|WORD1,
+			ADDR_LINES),
 EX(CMD_cunmap,		"cunmap",	ex_unmap,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cunabbrev,	"cunabbrev",	ex_abbreviate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cunmenu,		"cunmenu",	ex_menu,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_cwindow,		"cwindow",	ex_cwindow,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_delete,		"delete",	ex_operators,
-			RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY),
+			RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_delmarks,	"delmarks",	ex_delmarks,
-			BANG|EXTRA|TRLBAR|CMDWIN),
+			BANG|EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_debug,		"debug",	ex_debug,
-			NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_debuggreedy,	"debuggreedy",	ex_debuggreedy,
-			RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN),
+			RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_delcommand,	"delcommand",	ex_delcommand,
-			NEEDARG|WORD1|TRLBAR|CMDWIN),
+			NEEDARG|WORD1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_delfunction,	"delfunction",	ex_delfunction,
-			NEEDARG|WORD1|CMDWIN),
+			NEEDARG|WORD1|CMDWIN,
+			ADDR_LINES),
 EX(CMD_display,		"display",	ex_display,
-			EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_diffupdate,	"diffupdate",	ex_diffupdate,
-			BANG|TRLBAR),
+			BANG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_diffget,		"diffget",	ex_diffgetput,
-			RANGE|EXTRA|TRLBAR|MODIFY),
+			RANGE|EXTRA|TRLBAR|MODIFY,
+			ADDR_LINES),
 EX(CMD_diffoff,		"diffoff",	ex_diffoff,
-			BANG|TRLBAR),
+			BANG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_diffpatch,	"diffpatch",	ex_diffpatch,
-			EXTRA|FILE1|TRLBAR|MODIFY),
+			EXTRA|FILE1|TRLBAR|MODIFY,
+			ADDR_LINES),
 EX(CMD_diffput,		"diffput",	ex_diffgetput,
-			RANGE|EXTRA|TRLBAR),
+			RANGE|EXTRA|TRLBAR,
+			ADDR_LINES),
 EX(CMD_diffsplit,	"diffsplit",	ex_diffsplit,
-			EXTRA|FILE1|TRLBAR),
+			EXTRA|FILE1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_diffthis,	"diffthis",	ex_diffthis,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_digraphs,	"digraphs",	ex_digraphs,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_djump,		"djump",	ex_findpat,
-			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
+			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA,
+			ADDR_LINES),
 EX(CMD_dlist,		"dlist",	ex_findpat,
-			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
+			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN,
+			ADDR_LINES),
 EX(CMD_doautocmd,	"doautocmd",	ex_doautocmd,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_doautoall,	"doautoall",	ex_doautoall,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_drop,		"drop",		ex_drop,
-			FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR),
+			FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_dsearch,		"dsearch",	ex_findpat,
-			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
+			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN,
+			ADDR_LINES),
 EX(CMD_dsplit,		"dsplit",	ex_findpat,
-			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
+			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA,
+			ADDR_LINES),
 EX(CMD_edit,		"edit",		ex_edit,
-			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_earlier,		"earlier",	ex_later,
-			TRLBAR|EXTRA|NOSPC|CMDWIN),
+			TRLBAR|EXTRA|NOSPC|CMDWIN,
+			ADDR_LINES),
 EX(CMD_echo,		"echo",		ex_echo,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_echoerr,		"echoerr",	ex_execute,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_echohl,		"echohl",	ex_echohl,
-			EXTRA|TRLBAR|SBOXOK|CMDWIN),
+			EXTRA|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_echomsg,		"echomsg",	ex_execute,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_echon,		"echon",	ex_echo,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_else,		"else",		ex_else,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_elseif,		"elseif",	ex_else,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_emenu,		"emenu",	ex_emenu,
-			NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN),
+			NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_endif,		"endif",	ex_endif,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_endfunction,	"endfunction",	ex_endfunction,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_endfor,		"endfor",	ex_endwhile,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_endtry,		"endtry",	ex_endtry,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_endwhile,	"endwhile",	ex_endwhile,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_enew,		"enew",		ex_edit,
-			BANG|TRLBAR),
+			BANG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_ex,		"ex",		ex_edit,
-			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_execute,		"execute",	ex_execute,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_exit,		"exit",		ex_exit,
-			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_exusage,		"exusage",	ex_exusage,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_file,		"file",		ex_file,
-			RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR),
+			RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_files,		"files",	buflist_list,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_filetype,	"filetype",	ex_filetype,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_find,		"find",		ex_find,
-			RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
+			RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_finally,		"finally",	ex_finally,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_finish,		"finish",	ex_finish,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_first,		"first",	ex_rewind,
-			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_fixdel,		"fixdel",	do_fixdel,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_fold,		"fold",		ex_fold,
-			RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
+			RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_foldclose,	"foldclose",	ex_foldopen,
-			RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
+			RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_folddoopen,	"folddoopen",	ex_folddo,
-			RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),
+			RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_folddoclosed,	"folddoclosed",	ex_folddo,
-			RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),
+			RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_foldopen,	"foldopen",	ex_foldopen,
-			RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
+			RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_for,		"for",		ex_while,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_function,	"function",	ex_function,
-			EXTRA|BANG|CMDWIN),
+			EXTRA|BANG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_global,		"global",	ex_global,
-			RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN),
+			RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_goto,		"goto",		ex_goto,
-			RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN),
+			RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_grep,		"grep",		ex_make,
-			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_grepadd,		"grepadd",	ex_make,
-			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_gui,		"gui",		ex_gui,
-			BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),
+			BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_gvim,		"gvim",		ex_gui,
-			BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),
+			BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_help,		"help",		ex_help,
-			BANG|EXTRA|NOTRLCOM),
+			BANG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_helpclose,	"helpclose",	ex_helpclose,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_helpfind,	"helpfind",	ex_helpfind,
-			EXTRA|NOTRLCOM),
+			EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_helpgrep,	"helpgrep",	ex_helpgrep,
-			EXTRA|NOTRLCOM|NEEDARG),
+			EXTRA|NOTRLCOM|NEEDARG,
+			ADDR_LINES),
 EX(CMD_helptags,	"helptags",	ex_helptags,
-			NEEDARG|FILES|TRLBAR|CMDWIN),
+			NEEDARG|FILES|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_hardcopy,	"hardcopy",	ex_hardcopy,
-			RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG),
+			RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG,
+			ADDR_LINES),
 EX(CMD_highlight,	"highlight",	ex_highlight,
-			BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN),
+			BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_hide,		"hide",		ex_hide,
-			BANG|EXTRA|NOTRLCOM),
+			BANG|RANGE|NOTADR|COUNT|EXTRA|NOTRLCOM,
+			ADDR_WINDOWS),
 EX(CMD_history,		"history",	ex_history,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_insert,		"insert",	ex_append,
-			BANG|RANGE|TRLBAR|CMDWIN|MODIFY),
+			BANG|RANGE|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_iabbrev,		"iabbrev",	ex_abbreviate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_iabclear,	"iabclear",	ex_abclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_if,		"if",		ex_if,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_ijump,		"ijump",	ex_findpat,
-			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
+			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA,
+			ADDR_LINES),
 EX(CMD_ilist,		"ilist",	ex_findpat,
-			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
+			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN,
+			ADDR_LINES),
 EX(CMD_imap,		"imap",		ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_imapclear,	"imapclear",	ex_mapclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_imenu,		"imenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_inoremap,	"inoremap",	ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_inoreabbrev,	"inoreabbrev",	ex_abbreviate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_inoremenu,	"inoremenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_intro,		"intro",	ex_intro,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_isearch,		"isearch",	ex_findpat,
-			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
+			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN,
+			ADDR_LINES),
 EX(CMD_isplit,		"isplit",	ex_findpat,
-			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
+			BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA,
+			ADDR_LINES),
 EX(CMD_iunmap,		"iunmap",	ex_unmap,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_iunabbrev,	"iunabbrev",	ex_abbreviate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_iunmenu,		"iunmenu",	ex_menu,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_join,		"join",		ex_join,
-			BANG|RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),
+			BANG|RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_jumps,		"jumps",	ex_jumps,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_k,		"k",		ex_mark,
-			RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN),
+			RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_keepmarks,	"keepmarks",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_keepjumps,	"keepjumps",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_keeppatterns,	"keeppatterns",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_keepalt,		"keepalt",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_list,		"list",		ex_print,
-			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lNext,		"lNext",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_lNfile,		"lNfile",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_last,		"last",		ex_last,
-			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_language,	"language",	ex_language,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_laddexpr,	"laddexpr",	ex_cexpr,
-			NEEDARG|WORD1|NOTRLCOM|TRLBAR),
+			NEEDARG|WORD1|NOTRLCOM|TRLBAR,
+			ADDR_LINES),
 EX(CMD_laddbuffer,	"laddbuffer",	ex_cbuffer,
-			RANGE|NOTADR|WORD1|TRLBAR),
+			RANGE|NOTADR|WORD1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_laddfile,	"laddfile",	ex_cfile,
-			TRLBAR|FILE1),
+			TRLBAR|FILE1,
+			ADDR_LINES),
 EX(CMD_later,		"later",	ex_later,
-			TRLBAR|EXTRA|NOSPC|CMDWIN),
+			TRLBAR|EXTRA|NOSPC|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lbuffer,		"lbuffer",	ex_cbuffer,
-			BANG|RANGE|NOTADR|WORD1|TRLBAR),
+			BANG|RANGE|NOTADR|WORD1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_lcd,		"lcd",		ex_cd,
-			BANG|FILE1|TRLBAR|CMDWIN),
+			BANG|FILE1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lchdir,		"lchdir",	ex_cd,
-			BANG|FILE1|TRLBAR|CMDWIN),
+			BANG|FILE1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lclose,		"lclose",	ex_cclose,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_lcscope,		"lcscope",	do_cscope,
-			EXTRA|NOTRLCOM|XFILE),
+			EXTRA|NOTRLCOM|XFILE,
+			ADDR_LINES),
 EX(CMD_left,		"left",		ex_align,
-			TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
+			TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_leftabove,	"leftabove",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_let,		"let",		ex_let,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lexpr,		"lexpr",	ex_cexpr,
-			NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),
+			NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_lfile,		"lfile",	ex_cfile,
-			TRLBAR|FILE1|BANG),
+			TRLBAR|FILE1|BANG,
+			ADDR_LINES),
 EX(CMD_lfirst,		"lfirst",	ex_cc,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_lgetfile,	"lgetfile",	ex_cfile,
-			TRLBAR|FILE1),
+			TRLBAR|FILE1,
+			ADDR_LINES),
 EX(CMD_lgetbuffer,	"lgetbuffer",	ex_cbuffer,
-			RANGE|NOTADR|WORD1|TRLBAR),
+			RANGE|NOTADR|WORD1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_lgetexpr,	"lgetexpr",	ex_cexpr,
-			NEEDARG|WORD1|NOTRLCOM|TRLBAR),
+			NEEDARG|WORD1|NOTRLCOM|TRLBAR,
+			ADDR_LINES),
 EX(CMD_lgrep,		"lgrep",	ex_make,
-			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_lgrepadd,	"lgrepadd",	ex_make,
-			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_lhelpgrep,	"lhelpgrep",	ex_helpgrep,
-			EXTRA|NOTRLCOM|NEEDARG),
+			EXTRA|NOTRLCOM|NEEDARG,
+			ADDR_LINES),
 EX(CMD_ll,		"ll",		ex_cc,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_llast,		"llast",	ex_cc,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_llist,		"llist",	qf_list,
-			BANG|EXTRA|TRLBAR|CMDWIN),
+			BANG|EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lmap,		"lmap",		ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lmapclear,	"lmapclear",	ex_mapclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lmake,		"lmake",	ex_make,
-			BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_lnoremap,	"lnoremap",	ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lnext,		"lnext",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_lnewer,		"lnewer",	qf_age,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_lnfile,		"lnfile",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_loadview,	"loadview",	ex_loadview,
-			FILE1|TRLBAR),
+			FILE1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_loadkeymap,	"loadkeymap",	ex_loadkeymap,
-			CMDWIN),
+			CMDWIN,
+			ADDR_LINES),
 EX(CMD_lockmarks,	"lockmarks",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_lockvar,		"lockvar",	ex_lockvar,
-			BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
+			BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lolder,		"lolder",	qf_age,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_lopen,		"lopen",	ex_copen,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_lprevious,	"lprevious",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_lpfile,		"lpfile",	ex_cnext,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_lrewind,		"lrewind",	ex_cc,
-			RANGE|NOTADR|COUNT|TRLBAR|BANG),
+			RANGE|NOTADR|COUNT|TRLBAR|BANG,
+			ADDR_LINES),
 EX(CMD_ltag,		"ltag",	ex_tag,
-			NOTADR|TRLBAR|BANG|WORD1),
+			NOTADR|TRLBAR|BANG|WORD1,
+			ADDR_LINES),
 EX(CMD_lunmap,		"lunmap",	ex_unmap,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lua,		"lua",		ex_lua,
-			RANGE|EXTRA|NEEDARG|CMDWIN),
+			RANGE|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_luado,		"luado",	ex_luado,
-			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
+			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_luafile,		"luafile",	ex_luafile,
-			RANGE|FILE1|NEEDARG|CMDWIN),
+			RANGE|FILE1|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lvimgrep,	"lvimgrep",	ex_vimgrep,
-			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_lvimgrepadd,	"lvimgrepadd",	ex_vimgrep,
-			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_lwindow,		"lwindow",	ex_cwindow,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_ls,		"ls",		buflist_list,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_move,		"move",		ex_copymove,
-			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
+			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_mark,		"mark",		ex_mark,
-			RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN),
+			RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_make,		"make",		ex_make,
-			BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_map,		"map",		ex_map,
-			BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_mapclear,	"mapclear",	ex_mapclear,
-			EXTRA|BANG|TRLBAR|CMDWIN),
+			EXTRA|BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_marks,		"marks",	do_marks,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_match,		"match",	ex_match,
-			RANGE|NOTADR|EXTRA|CMDWIN),
+			RANGE|NOTADR|EXTRA|CMDWIN,
+			ADDR_LINES),
 EX(CMD_menu,		"menu",		ex_menu,
-			RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_menutranslate,	"menutranslate", ex_menutranslate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_messages,	"messages",	ex_messages,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_mkexrc,		"mkexrc",	ex_mkrc,
-			BANG|FILE1|TRLBAR|CMDWIN),
+			BANG|FILE1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_mksession,	"mksession",	ex_mkrc,
-			BANG|FILE1|TRLBAR),
+			BANG|FILE1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_mkspell,		"mkspell",	ex_mkspell,
-			BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_mkvimrc,		"mkvimrc",	ex_mkrc,
-			BANG|FILE1|TRLBAR|CMDWIN),
+			BANG|FILE1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_mkview,		"mkview",	ex_mkrc,
-			BANG|FILE1|TRLBAR),
+			BANG|FILE1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_mode,		"mode",		ex_mode,
-			WORD1|TRLBAR|CMDWIN),
+			WORD1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_mzscheme,	"mzscheme",	ex_mzscheme,
-			RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK),
+			RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK,
+			ADDR_LINES),
 EX(CMD_mzfile,		"mzfile",	ex_mzfile,
-			RANGE|FILE1|NEEDARG|CMDWIN),
+			RANGE|FILE1|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_next,		"next",		ex_next,
-			RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
+			RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_nbkey,		"nbkey",	ex_nbkey,
-			EXTRA|NOTADR|NEEDARG),
+			EXTRA|NOTADR|NEEDARG,
+			ADDR_LINES),
 EX(CMD_nbclose,		"nbclose",	ex_nbclose,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_nbstart,		"nbstart",	ex_nbstart,
-			WORD1|TRLBAR|CMDWIN),
+			WORD1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_new,		"new",		ex_splitview,
-			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_nmap,		"nmap",		ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_nmapclear,	"nmapclear",	ex_mapclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_nmenu,		"nmenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_nnoremap,	"nnoremap",	ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_nnoremenu,	"nnoremenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_noremap,		"noremap",	ex_map,
-			BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_noautocmd,	"noautocmd",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_nohlsearch,	"nohlsearch",	ex_nohlsearch,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_noreabbrev,	"noreabbrev",	ex_abbreviate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_noremenu,	"noremenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_noswapfile,	"noswapfile",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_normal,		"normal",	ex_normal,
-			RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN),
+			RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_number,		"number",	ex_print,
-			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_nunmap,		"nunmap",	ex_unmap,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_nunmenu,		"nunmenu",	ex_menu,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_open,		"open",		ex_open,
-			RANGE|BANG|EXTRA),
+			RANGE|BANG|EXTRA,
+			ADDR_LINES),
 EX(CMD_oldfiles,	"oldfiles",	ex_oldfiles,
-			BANG|TRLBAR|SBOXOK|CMDWIN),
+			BANG|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_omap,		"omap",		ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_omapclear,	"omapclear",	ex_mapclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_omenu,		"omenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_only,		"only",		ex_only,
-			BANG|TRLBAR),
+			BANG|NOTADR|RANGE|COUNT|TRLBAR,
+			ADDR_WINDOWS),
 EX(CMD_onoremap,	"onoremap",	ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_onoremenu,	"onoremenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_options,		"options",	ex_options,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_ounmap,		"ounmap",	ex_unmap,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_ounmenu,		"ounmenu",	ex_menu,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_ownsyntax,	"ownsyntax",	ex_ownsyntax,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_print,		"print",	ex_print,
-			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|SBOXOK),
+			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|SBOXOK,
+			ADDR_LINES),
 EX(CMD_pclose,		"pclose",	ex_pclose,
-			BANG|TRLBAR),
+			BANG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_perl,		"perl",		ex_perl,
-			RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK|CMDWIN),
+			RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_perldo,		"perldo",	ex_perldo,
-			RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN),
+			RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_pedit,		"pedit",	ex_pedit,
-			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_pop,		"pop",		ex_tag,
-			RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_popup,		"popup",	ex_popup,
-			NEEDARG|EXTRA|BANG|TRLBAR|NOTRLCOM|CMDWIN),
+			NEEDARG|EXTRA|BANG|TRLBAR|NOTRLCOM|CMDWIN,
+			ADDR_LINES),
 EX(CMD_ppop,		"ppop",		ex_ptag,
-			RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_preserve,	"preserve",	ex_preserve,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_previous,	"previous",	ex_previous,
-			EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_promptfind,	"promptfind",	gui_mch_find_dialog,
-			EXTRA|NOTRLCOM|CMDWIN),
+			EXTRA|NOTRLCOM|CMDWIN,
+			ADDR_LINES),
 EX(CMD_promptrepl,	"promptrepl",	gui_mch_replace_dialog,
-			EXTRA|NOTRLCOM|CMDWIN),
+			EXTRA|NOTRLCOM|CMDWIN,
+			ADDR_LINES),
 EX(CMD_profile,		"profile",	ex_profile,
-			BANG|EXTRA|TRLBAR|CMDWIN),
+			BANG|EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_profdel,		"profdel",	ex_breakdel,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_psearch,		"psearch",	ex_psearch,
-			BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA),
+			BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA,
+			ADDR_LINES),
 EX(CMD_ptag,		"ptag",		ex_ptag,
-			RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_ptNext,		"ptNext",	ex_ptag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_ptfirst,		"ptfirst",	ex_ptag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_ptjump,		"ptjump",	ex_ptag,
-			BANG|TRLBAR|WORD1),
+			BANG|TRLBAR|WORD1,
+			ADDR_LINES),
 EX(CMD_ptlast,		"ptlast",	ex_ptag,
-			BANG|TRLBAR),
+			BANG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_ptnext,		"ptnext",	ex_ptag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_ptprevious,	"ptprevious",	ex_ptag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_ptrewind,	"ptrewind",	ex_ptag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_ptselect,	"ptselect",	ex_ptag,
-			BANG|TRLBAR|WORD1),
+			BANG|TRLBAR|WORD1,
+			ADDR_LINES),
 EX(CMD_put,		"put",		ex_put,
-			RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY),
+			RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_pwd,		"pwd",		ex_pwd,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_python,		"python",	ex_python,
-			RANGE|EXTRA|NEEDARG|CMDWIN),
+			RANGE|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_pydo,		"pydo",		ex_pydo,
-			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
+			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_pyfile,		"pyfile",	ex_pyfile,
-			RANGE|FILE1|NEEDARG|CMDWIN),
+			RANGE|FILE1|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_py3,		"py3",		ex_py3,
-			RANGE|EXTRA|NEEDARG|CMDWIN),
+			RANGE|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_py3do,		"py3do",	ex_py3do,
-			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
+			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_python3,		"python3",	ex_py3,
-			RANGE|EXTRA|NEEDARG|CMDWIN),
+			RANGE|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_py3file,		"py3file",	ex_py3file,
-			RANGE|FILE1|NEEDARG|CMDWIN),
+			RANGE|FILE1|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_quit,		"quit",		ex_quit,
-			BANG|TRLBAR|CMDWIN),
+			BANG|RANGE|COUNT|NOTADR|TRLBAR|CMDWIN,
+			ADDR_WINDOWS),
 EX(CMD_quitall,		"quitall",	ex_quit_all,
-			BANG|TRLBAR),
+			BANG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_qall,		"qall",		ex_quit_all,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_read,		"read",		ex_read,
-			BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY),
+			BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_recover,		"recover",	ex_recover,
-			BANG|FILE1|TRLBAR),
+			BANG|FILE1|TRLBAR,
+			ADDR_LINES),
 EX(CMD_redo,		"redo",		ex_redo,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_redir,		"redir",	ex_redir,
-			BANG|FILES|TRLBAR|CMDWIN),
+			BANG|FILES|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_redraw,		"redraw",	ex_redraw,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_redrawstatus,	"redrawstatus",	ex_redrawstatus,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_registers,	"registers",	ex_display,
-			EXTRA|NOTRLCOM|TRLBAR|CMDWIN),
+			EXTRA|NOTRLCOM|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_resize,		"resize",	ex_resize,
-			RANGE|NOTADR|TRLBAR|WORD1),
+			RANGE|NOTADR|TRLBAR|WORD1,
+			ADDR_LINES),
 EX(CMD_retab,		"retab",	ex_retab,
-			TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY),
+			TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_return,		"return",	ex_return,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_rewind,		"rewind",	ex_rewind,
-			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_right,		"right",	ex_align,
-			TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
+			TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_rightbelow,	"rightbelow",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_runtime,		"runtime",	ex_runtime,
-			BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN),
+			BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_ruby,		"ruby",		ex_ruby,
-			RANGE|EXTRA|NEEDARG|CMDWIN),
+			RANGE|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_rubydo,		"rubydo",	ex_rubydo,
-			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
+			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_rubyfile,	"rubyfile",	ex_rubyfile,
-			RANGE|FILE1|NEEDARG|CMDWIN),
+			RANGE|FILE1|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_rundo,		"rundo",	ex_rundo,
-			NEEDARG|FILE1),
+			NEEDARG|FILE1,
+			ADDR_LINES),
 EX(CMD_rviminfo,	"rviminfo",	ex_viminfo,
-			BANG|FILE1|TRLBAR|CMDWIN),
+			BANG|FILE1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_substitute,	"substitute",	do_sub,
-			RANGE|WHOLEFOLD|EXTRA|CMDWIN),
+			RANGE|WHOLEFOLD|EXTRA|CMDWIN,
+			ADDR_LINES),
 EX(CMD_sNext,		"sNext",	ex_previous,
-			EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sargument,	"sargument",	ex_argument,
-			BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
+			BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_ARGUMENTS),
 EX(CMD_sall,		"sall",		ex_all,
-			BANG|RANGE|NOTADR|COUNT|TRLBAR),
+			BANG|RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sandbox,		"sandbox",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_saveas,		"saveas",	ex_write,
-			BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR),
+			BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sbuffer,		"sbuffer",	ex_buffer,
-			BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR),
+			BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR,
+			ADDR_UNLOADED_BUFFERS),
 EX(CMD_sbNext,		"sbNext",	ex_bprevious,
-			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR),
+			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sball,		"sball",	ex_buffer_all,
-			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR),
+			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sbfirst,		"sbfirst",	ex_brewind,
-			EDITCMD|TRLBAR),
+			EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sblast,		"sblast",	ex_blast,
-			EDITCMD|TRLBAR),
+			EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sbmodified,	"sbmodified",	ex_bmodified,
-			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR),
+			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sbnext,		"sbnext",	ex_bnext,
-			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR),
+			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sbprevious,	"sbprevious",	ex_bprevious,
-			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR),
+			RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sbrewind,	"sbrewind",	ex_brewind,
-			EDITCMD|TRLBAR),
+			EDITCMD|TRLBAR,
+			ADDR_LINES),
 EX(CMD_scriptnames,	"scriptnames",	ex_scriptnames,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_scriptencoding,	"scriptencoding", ex_scriptencoding,
-			WORD1|TRLBAR|CMDWIN),
+			WORD1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_scscope,		"scscope",	do_scscope,
-			EXTRA|NOTRLCOM),
+			EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_set,		"set",		ex_set,
-			TRLBAR|EXTRA|CMDWIN|SBOXOK),
+			TRLBAR|EXTRA|CMDWIN|SBOXOK,
+			ADDR_LINES),
 EX(CMD_setfiletype,	"setfiletype",	ex_setfiletype,
-			TRLBAR|EXTRA|NEEDARG|CMDWIN),
+			TRLBAR|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_setglobal,	"setglobal",	ex_set,
-			TRLBAR|EXTRA|CMDWIN|SBOXOK),
+			TRLBAR|EXTRA|CMDWIN|SBOXOK,
+			ADDR_LINES),
 EX(CMD_setlocal,	"setlocal",	ex_set,
-			TRLBAR|EXTRA|CMDWIN|SBOXOK),
+			TRLBAR|EXTRA|CMDWIN|SBOXOK,
+			ADDR_LINES),
 EX(CMD_sfind,		"sfind",	ex_splitview,
-			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sfirst,		"sfirst",	ex_rewind,
-			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_shell,		"shell",	ex_shell,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_simalt,		"simalt",	ex_simalt,
-			NEEDARG|WORD1|TRLBAR|CMDWIN),
+			NEEDARG|WORD1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_sign,		"sign",		ex_sign,
-			NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN),
+			NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN,
+			ADDR_LINES),
 EX(CMD_silent,		"silent",	ex_wrongmodifier,
-			NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN),
+			NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_sleep,		"sleep",	ex_sleep,
-			RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN),
+			RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_slast,		"slast",	ex_last,
-			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_smagic,		"smagic",	ex_submagic,
-			RANGE|WHOLEFOLD|EXTRA|CMDWIN),
+			RANGE|WHOLEFOLD|EXTRA|CMDWIN,
+			ADDR_LINES),
 EX(CMD_smap,		"smap",		ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_smapclear,	"smapclear",	ex_mapclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_smenu,		"smenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_snext,		"snext",	ex_next,
-			RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
+			RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sniff,		"sniff",	ex_sniff,
-			EXTRA|TRLBAR),
+			EXTRA|TRLBAR,
+			ADDR_LINES),
 EX(CMD_snomagic,	"snomagic",	ex_submagic,
-			RANGE|WHOLEFOLD|EXTRA|CMDWIN),
+			RANGE|WHOLEFOLD|EXTRA|CMDWIN,
+			ADDR_LINES),
 EX(CMD_snoremap,	"snoremap",	ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_snoremenu,	"snoremenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_source,		"source",	ex_source,
-			BANG|FILE1|TRLBAR|SBOXOK|CMDWIN),
+			BANG|FILE1|TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_sort,		"sort",		ex_sort,
-			RANGE|DFLALL|WHOLEFOLD|BANG|EXTRA|NOTRLCOM|MODIFY),
+			RANGE|DFLALL|WHOLEFOLD|BANG|EXTRA|NOTRLCOM|MODIFY,
+			ADDR_LINES),
 EX(CMD_split,		"split",	ex_splitview,
-			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_spellgood,	"spellgood",	ex_spell,
-			BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR),
+			BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR,
+			ADDR_LINES),
 EX(CMD_spelldump,	"spelldump",	ex_spelldump,
-			BANG|TRLBAR),
+			BANG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_spellinfo,	"spellinfo",	ex_spellinfo,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_spellrepall,	"spellrepall",	ex_spellrepall,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_spellundo,	"spellundo",	ex_spell,
-			BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR),
+			BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR,
+			ADDR_LINES),
 EX(CMD_spellwrong,	"spellwrong",	ex_spell,
-			BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR),
+			BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sprevious,	"sprevious",	ex_previous,
-			EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_srewind,		"srewind",	ex_rewind,
-			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_stop,		"stop",		ex_stop,
-			TRLBAR|BANG|CMDWIN),
+			TRLBAR|BANG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_stag,		"stag",		ex_stag,
-			RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_startinsert,	"startinsert",	ex_startinsert,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_startgreplace,	"startgreplace", ex_startinsert,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_startreplace,	"startreplace",	ex_startinsert,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_stopinsert,	"stopinsert",	ex_stopinsert,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_stjump,		"stjump",	ex_stag,
-			BANG|TRLBAR|WORD1),
+			BANG|TRLBAR|WORD1,
+			ADDR_LINES),
 EX(CMD_stselect,	"stselect",	ex_stag,
-			BANG|TRLBAR|WORD1),
+			BANG|TRLBAR|WORD1,
+			ADDR_LINES),
 EX(CMD_sunhide,		"sunhide",	ex_buffer_all,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_sunmap,		"sunmap",	ex_unmap,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_sunmenu,		"sunmenu",	ex_menu,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_suspend,		"suspend",	ex_stop,
-			TRLBAR|BANG|CMDWIN),
+			TRLBAR|BANG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_sview,		"sview",	ex_splitview,
-			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_swapname,	"swapname",	ex_swapname,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_syntax,		"syntax",	ex_syntax,
-			EXTRA|NOTRLCOM|CMDWIN),
+			EXTRA|NOTRLCOM|CMDWIN,
+			ADDR_LINES),
 EX(CMD_syntime,		"syntime",	ex_syntime,
-			NEEDARG|WORD1|TRLBAR|CMDWIN),
+			NEEDARG|WORD1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_syncbind,	"syncbind",	ex_syncbind,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_t,		"t",		ex_copymove,
-			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
+			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_tNext,		"tNext",	ex_tag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_tag,		"tag",		ex_tag,
-			RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_tags,		"tags",		do_tags,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_tab,		"tab",		ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_tabclose,	"tabclose",	ex_tabclose,
-			RANGE|NOTADR|COUNT|BANG|TRLBAR|CMDWIN),
+			RANGE|NOTADR|COUNT|BANG|TRLBAR|CMDWIN,
+			ADDR_TABS),
 EX(CMD_tabdo,		"tabdo",	ex_listdo,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_tabedit,		"tabedit",	ex_splitview,
-			BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR),
+			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),
+			BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|NEEDARG|TRLBAR,
+			ADDR_TABS),
 EX(CMD_tabfirst,	"tabfirst",	ex_tabnext,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_tabmove,		"tabmove",	ex_tabmove,
-			RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR),
+			RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR,
+			ADDR_TABS),
 EX(CMD_tablast,		"tablast",	ex_tabnext,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_tabnext,		"tabnext",	ex_tabnext,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_tabnew,		"tabnew",	ex_splitview,
-			BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_TABS),
 EX(CMD_tabonly,		"tabonly",	ex_tabonly,
-			BANG|TRLBAR|CMDWIN),
+			BANG|RANGE|NOTADR|TRLBAR|CMDWIN,
+			ADDR_TABS),
 EX(CMD_tabprevious,	"tabprevious",	ex_tabnext,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_tabNext,		"tabNext",	ex_tabnext,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_tabrewind,	"tabrewind",	ex_tabnext,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_tabs,		"tabs",		ex_tabs,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_tcl,		"tcl",		ex_tcl,
-			RANGE|EXTRA|NEEDARG|CMDWIN),
+			RANGE|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_tcldo,		"tcldo",	ex_tcldo,
-			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
+			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_tclfile,		"tclfile",	ex_tclfile,
-			RANGE|FILE1|NEEDARG|CMDWIN),
+			RANGE|FILE1|NEEDARG|CMDWIN,
+			ADDR_LINES),
 EX(CMD_tearoff,		"tearoff",	ex_tearoff,
-			NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN),
+			NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN,
+			ADDR_LINES),
 EX(CMD_tfirst,		"tfirst",	ex_tag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_throw,		"throw",	ex_throw,
-			EXTRA|NEEDARG|SBOXOK|CMDWIN),
+			EXTRA|NEEDARG|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_tjump,		"tjump",	ex_tag,
-			BANG|TRLBAR|WORD1),
+			BANG|TRLBAR|WORD1,
+			ADDR_LINES),
 EX(CMD_tlast,		"tlast",	ex_tag,
-			BANG|TRLBAR),
+			BANG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_tmenu,		"tmenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_tnext,		"tnext",	ex_tag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_topleft,		"topleft",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_tprevious,	"tprevious",	ex_tag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_trewind,		"trewind",	ex_tag,
-			RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+			RANGE|NOTADR|BANG|TRLBAR|ZEROR,
+			ADDR_LINES),
 EX(CMD_try,		"try",		ex_try,
-			TRLBAR|SBOXOK|CMDWIN),
+			TRLBAR|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_tselect,		"tselect",	ex_tag,
-			BANG|TRLBAR|WORD1),
+			BANG|TRLBAR|WORD1,
+			ADDR_LINES),
 EX(CMD_tunmenu,		"tunmenu",	ex_menu,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_undo,		"undo",		ex_undo,
-			RANGE|NOTADR|COUNT|ZEROR|TRLBAR|CMDWIN),
+			RANGE|NOTADR|COUNT|ZEROR|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_undojoin,	"undojoin",	ex_undojoin,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_undolist,	"undolist",	ex_undolist,
-			TRLBAR|CMDWIN),
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_unabbreviate,	"unabbreviate",	ex_abbreviate,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_unhide,		"unhide",	ex_buffer_all,
-			RANGE|NOTADR|COUNT|TRLBAR),
+			RANGE|NOTADR|COUNT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_unlet,		"unlet",	ex_unlet,
-			BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
+			BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_unlockvar,	"unlockvar",	ex_lockvar,
-			BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
+			BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_unmap,		"unmap",	ex_unmap,
-			BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_unmenu,		"unmenu",	ex_menu,
-			BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_unsilent,	"unsilent",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_update,		"update",	ex_update,
-			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
+			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR,
+			ADDR_LINES),
 EX(CMD_vglobal,		"vglobal",	ex_global,
-			RANGE|WHOLEFOLD|EXTRA|DFLALL|CMDWIN),
+			RANGE|WHOLEFOLD|EXTRA|DFLALL|CMDWIN,
+			ADDR_LINES),
 EX(CMD_version,		"version",	ex_version,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_verbose,		"verbose",	ex_wrongmodifier,
-			NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_vertical,	"vertical",	ex_wrongmodifier,
-			NEEDARG|EXTRA|NOTRLCOM),
+			NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_visual,		"visual",	ex_edit,
-			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_view,		"view",		ex_edit,
-			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_vimgrep,		"vimgrep",	ex_vimgrep,
-			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_vimgrepadd,	"vimgrepadd",	ex_vimgrep,
-			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+			ADDR_LINES),
 EX(CMD_viusage,		"viusage",	ex_viusage,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_vmap,		"vmap",		ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_vmapclear,	"vmapclear",	ex_mapclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_vmenu,		"vmenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_vnoremap,	"vnoremap",	ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_vnew,		"vnew",		ex_splitview,
-			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_vnoremenu,	"vnoremenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_vsplit,		"vsplit",	ex_splitview,
-			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_vunmap,		"vunmap",	ex_unmap,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_vunmenu,		"vunmenu",	ex_menu,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_write,		"write",	ex_write,
-			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_wNext,		"wNext",	ex_wnext,
-			RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
+			RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_wall,		"wall",		do_wqall,
-			BANG|TRLBAR|CMDWIN),
+			BANG|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_while,		"while",	ex_while,
-			EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+			EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+			ADDR_LINES),
 EX(CMD_winsize,		"winsize",	ex_winsize,
-			EXTRA|NEEDARG|TRLBAR),
+			EXTRA|NEEDARG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_wincmd,		"wincmd",	ex_wincmd,
-			NEEDARG|WORD1|RANGE|NOTADR),
+			NEEDARG|WORD1|RANGE|NOTADR,
+			ADDR_LINES),
 EX(CMD_windo,		"windo",	ex_listdo,
-			BANG|NEEDARG|EXTRA|NOTRLCOM),
+			BANG|NEEDARG|EXTRA|NOTRLCOM,
+			ADDR_LINES),
 EX(CMD_winpos,		"winpos",	ex_winpos,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_wnext,		"wnext",	ex_wnext,
-			RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
+			RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_wprevious,	"wprevious",	ex_wnext,
-			RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
+			RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_wq,		"wq",		ex_exit,
-			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
+			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR,
+			ADDR_LINES),
 EX(CMD_wqall,		"wqall",	do_wqall,
-			BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
+			BANG|FILE1|ARGOPT|DFLALL|TRLBAR,
+			ADDR_LINES),
 EX(CMD_wsverb,		"wsverb",	ex_wsverb,
-			EXTRA|NOTADR|NEEDARG),
+			EXTRA|NOTADR|NEEDARG,
+			ADDR_LINES),
 EX(CMD_wundo,		"wundo",	ex_wundo,
-			BANG|NEEDARG|FILE1),
+			BANG|NEEDARG|FILE1,
+			ADDR_LINES),
 EX(CMD_wviminfo,	"wviminfo",	ex_viminfo,
-			BANG|FILE1|TRLBAR|CMDWIN),
+			BANG|FILE1|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_xit,		"xit",		ex_exit,
-			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_xall,		"xall",		do_wqall,
-			BANG|TRLBAR),
+			BANG|TRLBAR,
+			ADDR_LINES),
 EX(CMD_xmap,		"xmap",		ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_xmapclear,	"xmapclear",	ex_mapclear,
-			EXTRA|TRLBAR|CMDWIN),
+			EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_xmenu,		"xmenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_xnoremap,	"xnoremap",	ex_map,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_xnoremenu,	"xnoremenu",	ex_menu,
-			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_xunmap,		"xunmap",	ex_unmap,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_xunmenu,		"xunmenu",	ex_menu,
-			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+			ADDR_LINES),
 EX(CMD_yank,		"yank",		ex_operators,
-			RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_z,		"z",		ex_z,
-			RANGE|WHOLEFOLD|EXTRA|EXFLAGS|TRLBAR|CMDWIN),
+			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),
+			RANGE|WHOLEFOLD|BANG|FILES|CMDWIN,
+			ADDR_LINES),
 EX(CMD_pound,		"#",		ex_print,
-			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_and,		"&",		do_sub,
-			RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
+			RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_star,		"*",		ex_at,
-			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_lshift,		"<",		ex_operators,
-			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),
+			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_equal,		"=",		ex_equal,
-			RANGE|TRLBAR|DFLALL|EXFLAGS|CMDWIN),
+			RANGE|TRLBAR|DFLALL|EXFLAGS|CMDWIN,
+			ADDR_LINES),
 EX(CMD_rshift,		">",		ex_operators,
-			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),
+			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY,
+			ADDR_LINES),
 EX(CMD_at,		"@",		ex_at,
-			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_Next,		"Next",		ex_previous,
-			EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
+			EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
+			ADDR_LINES),
 EX(CMD_Print,		"Print",	ex_print,
-			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
+			RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_X,		"X",		ex_X,
-			TRLBAR),
+			TRLBAR,
+			ADDR_LINES),
 EX(CMD_tilde,		"~",		do_sub,
-			RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
+			RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
+			ADDR_LINES),
 
 #ifndef DO_DECLARE_EXCMD
 #ifdef FEAT_USR_CMDS
@@ -1172,6 +1704,7 @@
     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 */
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index e90a36e..7b25cdb 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -60,6 +60,7 @@
 # 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,7 +134,7 @@
 #endif
 
 static int	check_more __ARGS((int, int));
-static linenr_T get_address __ARGS((char_u **, int skip, int to_other_file));
+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,6 +1681,39 @@
 }
 #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,10 +1721,10 @@
  *
  * 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
+ * 3. parse command
+ * 4. parse range
+ * 6. parse arguments
+ * 7. switch on command name
  *
  * Note: "fgetline" can be NULL.
  *
@@ -1730,6 +1764,9 @@
 #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,7 +1806,7 @@
     for (;;)
     {
 /*
- * 1. skip comment lines and leading white space and colons
+ * 1. Skip comment lines and leading white space and colons.
  */
 	while (*ea.cmd == ' ' || *ea.cmd == '\t' || *ea.cmd == ':')
 	    ++ea.cmd;
@@ -1794,7 +1831,7 @@
 	}
 
 /*
- * 2. handle command modifiers.
+ * 2. Handle command modifiers.
  */
 	p = ea.cmd;
 	if (VIM_ISDIGIT(*ea.cmd))
@@ -2003,7 +2040,18 @@
 #endif
 
 /*
- * 3. parse a range specifier of the form: addr [,addr] [;addr] ..
+ * 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,13 +2067,52 @@
  * 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;
-	ea.line2 = curwin->w_cursor.lnum;   /* default is current line number */
+	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.skip, ea.addr_count == 0);
+	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,8 +2120,24 @@
 	    if (*ea.cmd == '%')		    /* '%' - all lines */
 	    {
 		++ea.cmd;
-		ea.line1 = 1;
-		ea.line2 = curbuf->b_ml.ml_line_count;
+		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,6 +2145,12 @@
 	    {
 		pos_T	    *fp;
 
+		if (ea.addr_type != ADDR_LINES)
+		{
+		    errormsg = (char_u *)_(e_invrange);
+		    goto doend;
+		}
+
 		++ea.cmd;
 		if (!ea.skip)
 		{
@@ -2084,7 +2193,7 @@
     check_cursor_lnum();
 
 /*
- * 4. parse command
+ * 5. Parse the command.
  */
 
     /*
@@ -2098,8 +2207,8 @@
      * 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)
+    if (*ea.cmd == NUL || *ea.cmd == '"'
+			      || (ea.nextcmd = check_nextcmd(ea.cmd)) != NULL)
     {
 	/*
 	 * strange vi behaviour:
@@ -2145,9 +2254,6 @@
 	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. */
@@ -2229,7 +2335,7 @@
 	ea.forceit = FALSE;
 
 /*
- * 5. parse arguments
+ * 5. Parse arguments.
  */
     if (!IS_USER_CMDIDX(ea.cmdidx))
 	ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
@@ -2676,7 +2782,7 @@
 #endif
 
 /*
- * 6. switch on command name
+ * 6. Switch on command name.
  *
  * The "ea" structure holds the arguments that can be used.
  */
@@ -4082,8 +4188,9 @@
  * Return MAXLNUM when no Ex address was found.
  */
     static linenr_T
-get_address(ptr, skip, to_other_file)
+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,6 +4201,8 @@
     pos_T	pos;
     pos_T	*fp;
     linenr_T	lnum;
+    win_T	*wp;
+    tabpage_T	*tp;
 
     cmd = skipwhite(*ptr);
     lnum = MAXLNUM;
@@ -4102,137 +4211,204 @@
 	switch (*cmd)
 	{
 	    case '.':			    /* '.' - Cursor position */
-			++cmd;
+		++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;
+		++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)
+		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;
 			}
-			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;
+			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;
+		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 (*cmd == '&')
-			    i = RE_SUBST;
-			else if (*cmd == '?' || *cmd == '/')
-			    i = RE_SEARCH;
-			else
-			{
-			    EMSG(_(e_backslash));
-			    cmd = NULL;
-			    goto error;
-			}
+		++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;
+		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;
+		    /*
+		     * 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);
+		if (VIM_ISDIGIT(*cmd))	/* absolute line number */
+		    lnum = getdigits(&cmd);
 	}
 
 	for (;;)
@@ -4242,7 +4418,40 @@
 		break;
 
 	    if (lnum == MAXLNUM)
-		lnum = curwin->w_cursor.lnum;	/* "+1" is same as ".+1" */
+	    {
+		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,10 +4460,59 @@
 		n = 1;
 	    else
 		n = getdigits(&cmd);
-	    if (i == '-')
+	    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,6 +6814,10 @@
 ex_quit(eap)
     exarg_T	*eap;
 {
+    win_T	*wp;
+    buf_T	*buf;
+    int		wnr;
+
 #ifdef FEAT_CMDWIN
     if (cmdwin_type != 0)
     {
@@ -6569,11 +6831,28 @@
 	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() || (curbuf->b_nwindows == 1 && curbuf->b_closing))
+    if (curbuf_locked() || (buf->b_nwindows == 1 && buf->b_closing))
 	return;
 #endif
 
@@ -6606,7 +6885,7 @@
 	need_mouse_correct = TRUE;
 # endif
 	/* close window; may free buffer */
-	win_close(curwin, !P_HID(curwin->w_buffer) || eap->forceit);
+	win_close(wp, !P_HID(wp->w_buffer) || eap->forceit);
 #endif
     }
 }
@@ -6668,6 +6947,8 @@
 ex_close(eap)
     exarg_T	*eap;
 {
+    win_T	*win;
+    int		winnr = 0;
 # ifdef FEAT_CMDWIN
     if (cmdwin_type != 0)
 	cmdwin_result = Ctrl_C;
@@ -6678,7 +6959,21 @@
 		&& !curbuf_locked()
 #endif
 		)
-	    ex_win_close(eap->forceit, curwin, NULL);
+	{
+	    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,6 +7099,8 @@
 	    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,9 +7179,23 @@
 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,6 +7217,9 @@
 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,7 +7232,19 @@
 # ifdef FEAT_GUI
 	    need_mouse_correct = TRUE;
 # endif
-	    win_close(curwin, FALSE);	/* don't free buffer */
+	    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,7 +8978,7 @@
 {
     long	n;
 
-    n = get_address(&eap->arg, FALSE, FALSE);
+    n = get_address(&eap->arg, eap->addr_type, FALSE, FALSE);
     if (eap->arg == NULL)	    /* error detected */
     {
 	eap->nextcmd = NULL;
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index 58316fc..a2e5db3 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -36,9 +36,11 @@
 		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,9 +173,11 @@
 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
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index 7fd2763..d2e070b 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -35,9 +35,11 @@
 		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 \
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index d2995a5..4a99cb9 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -57,9 +57,11 @@
 		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 \
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index 3b6b407..7a2571b 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -37,9 +37,11 @@
 		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 \
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index e105376..93aa874 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -4,7 +4,7 @@
 # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
 #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
 #
-# Last change:  2014 Aug 16
+# 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,7 +45,7 @@
 # It fails because VMS does not support this feature yet.
 # WANT_MZSCH = YES
 
-# Comment out if you have ODS-5 file system                                                                                                                 
+# Comment out if you have ODS-5 file system
 # HAVE_ODS5 = YES
 
 # Comment out if you have gzip on your system
@@ -54,10 +54,10 @@
 # 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                                                                                                  
+# Comment out if you have GNU compatible cksum on your system
 # HAVE_CKSUM = YES
 
-# Comment out if you have ICONV support                                                                                                  
+# Comment out if you have ICONV support
 # HAVE_ICONV = YES
 
 # Comment out if you have LUA support
@@ -96,9 +96,11 @@
 	 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 \
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index 1f5095e..aa0ef1f 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -33,9 +33,11 @@
 		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 \
diff --git a/src/version.c b/src/version.c
index 2496def..d94dc3c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    530,
+/**/
     529,
 /**/
     528,
diff --git a/src/window.c b/src/window.c
index 6490fd3..92fcbbe 100644
--- a/src/window.c
+++ b/src/window.c
@@ -199,14 +199,22 @@
     case Ctrl_Q:
     case 'q':
 		reset_VIsual_and_resel();	/* stop Visual mode */
-		do_cmdline_cmd((char_u *)"quit");
+		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 */
-		do_cmdline_cmd((char_u *)"close");
+		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,7 +243,11 @@
     case 'o':
 		CHECK_CMDWIN
 		reset_VIsual_and_resel();	/* stop Visual mode */
-		do_cmdline_cmd((char_u *)"only");
+		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 */
