-short CDCNT; /* Count of ^D's in insert on this line */
-char DEL[VBSIZE]; /* Last deleted text */
-bool HADUP; /* This insert line started with ^ then ^D */
-bool HADZERO; /* This insert line started with 0 then ^D */
-char INS[VBSIZE]; /* Last inserted text */
-int Vlines; /* Number of file lines "before" vi command */
-int Xcnt; /* External variable holding last cmd's count */
-bool Xhadcnt; /* Last command had explicit count? */
-short ZERO;
-short dir; /* Direction for search (+1 or -1) */
-short doomed; /* Disply chars right of cursor to be killed */
-bool gobblebl; /* Wrapmargin space generated nl, eat a space */
-bool hadcnt; /* (Almost) internal to vmain() */
-bool heldech; /* We owe a clear of echo area */
-bool insmode; /* Are in character insert mode */
-char lastcmd[5]; /* Chars in last command */
-int lastcnt; /* Count for last command */
-char *lastcp; /* Save current command here to repeat */
-bool lasthad; /* Last command had a count? */
-short lastvgk; /* Previous input key, if not from keyboard */
-short lastreg; /* Register with last command */
-char *ncols['z'-'a'+2]; /* Cursor positions of marks */
-char *notenam; /* Name to be noted with change count */
-char *notesgn; /* Change count from last command */
-char op; /* Operation of current command */
-short Peekkey; /* Peek ahead key */
-bool rubble; /* Line is filthy (in hardcopy open), redraw! */
-int vSCROLL; /* Number lines to scroll on ^D/^U */
-char *vglobp; /* Untyped input (e.g. repeat insert text) */
-char vmacbuf[VBSIZE]; /* Text of visual macro, hence nonnestable */
-char *vmacp; /* Like vglobp but for visual macros */
-char *vmcurs; /* Cursor for restore after undo d), e.g. */
-short vmovcol; /* Column to try to keep on arrow keys */
-bool vmoving; /* Are trying to keep vmovcol */
-char vreg; /* Register for this command */
-short wdkind; /* Liberal/conservative words? */
-char workcmd[5]; /* Temporary for lastcmd */
+var short CDCNT; /* Count of ^D's in insert on this line */
+var char DEL[VBSIZE]; /* Last deleted text */
+var bool HADUP; /* This insert line started with ^ then ^D */
+var bool HADZERO; /* This insert line started with 0 then ^D */
+var char INS[VBSIZE]; /* Last inserted text */
+var int Vlines; /* Number of file lines "before" vi command */
+var int Xcnt; /* External variable holding last cmd's count */
+var bool Xhadcnt; /* Last command had explicit count? */
+var short ex_ZERO;
+var short dir; /* Direction for search (+1 or -1) */
+var short doomed; /* Disply chars right of cursor to be killed */
+var bool gobblebl; /* Wrapmargin space generated nl, eat a space */
+var bool hadcnt; /* (Almost) internal to vmain() */
+var bool heldech; /* We owe a clear of echo area */
+var bool insmode; /* Are in character insert mode */
+var char lastcmd[5]; /* Chars in last command */
+var int lastcnt; /* Count for last command */
+var char *lastcp; /* Save current command here to repeat */
+var bool lasthad; /* Last command had a count? */
+var short lastvgk; /* Previous input key, if not from keyboard */
+var short lastreg; /* Register with last command */
+var char *ncols['z'-'a'+2]; /* Cursor positions of marks */
+var char *notenam; /* Name to be noted with change count */
+var char *notesgn; /* Change count from last command */
+var char op; /* Operation of current command */
+var short Peek_key; /* Peek ahead key */
+var bool rubble; /* Line is filthy (in hardcopy open), redraw! */
+var int ex_vSCROLL; /* Number lines to scroll on ^D/^U */
+var char *vglobp; /* Untyped input (e.g. repeat insert text) */
+var char vmacbuf[VBSIZE]; /* Text of visual macro, hence nonnestable */
+var char *vmacp; /* Like vglobp but for visual macros */
+var char *vmcurs; /* Cursor for restore after undo d), e.g. */
+var short vmovcol; /* Column to try to keep on arrow keys */
+var bool vmoving; /* Are trying to keep vmovcol */
+var short vreg; /* Reg for this command */ /* mjm: was char */
+var short wdkind; /* Liberal/conservative words? */
+var char workcmd[5]; /* Temporary for lastcmd */