previous next top complete contents complete index framed top this page unframed
| Command Mode | |
|---|---|
| nA | do last command again, count = n, original modifier |
| QA | do last command again, original count and modifier |
| +nA | do last command again, count = n, + modifier |
| Q+A | do last command again, original count, + modifier |
| -nA | do last command again, count = n, - modifier |
| -QA | do last command again, original count, - modifier |
| (- means direction is towards beginning of file) | |
| (+ means direction is towards end of file) | |
| .A | anchor current window |
| +.A | anchor at bottom |
| -.A | anchor at top |
| n.A | anchor, change size to n rows |
| +n.A | anchor at bottom, change size to n rows |
| -n.A | anchor at top, change size to n rows |
| ..A | unanchor current window |
| Q..A | unanchor all windows |
| Q+..A | unanchor all windows at bottom of screen |
| Q-..A | unanchor all windows at top of screen |
| B | break line, remove spaces |
| nB | break line, indent n spaces |
| QB | break line, leave spaces |
| -B | break line, remove spaces, leave cursor |
| -nB | break line, indent n spaces, leave cursor |
| -QB | break line, leave spaces, leave cursor |
| .Bs | edit buffer s, use current window if not on screen |
| +.Bs | edit buffer s, new window at bottom if not on screen |
| n.Bs | same as .Bs, except n-row window |
| +n.Bs | same as +.Bs, except n-row window |
| -.Bs | edit buffer s, new window at top if not on screen |
| -n.Bs | same as -.Bs, except n-row window |
| --{n}.Bs | overlay (n-row) window at top |
| ++{n}.Bs | overlay (n-row) window at bottom |
| ..{n}Bs | edit s, making window 1/mth of screen, where m is the number of windows; but no window is allowed to be smaller than n lines |
| +..{n}Bs | do a +{n}.B, then make all windows same size |
| -..{n}Bs | do a -{n}.B, then make all windows same size |
| Q.Bs | change name of current buffer to s |
| Q..Bs | change command front end to s |
| +Q..Bs | change command and view front ends to s |
| ++Q..Bs | change command, view front ends to s for all buffers |
| -Q..Bs | kill front end s |
| .B?<eol> | display names of most recently edited buffers |
| nC[C|W|L|P] | copy n objects at and after current position |
| QC[C|W|L|P] | copy all objects at and after current position |
| -nC[C|W|L|P] | copy n objects before current position |
| -QC[C|W|L|P] | copy all objects before current position |
| n.C | center n lines at and after current position |
| Q.C | center all lines at and after current position |
| CM | push savedMode onto mode stack |
| nD[C|W|L|P] | delete n objects at and after current position |
| QD[C|W|L|P] | delete all objects at and after current position |
| -nD[C|W|L|P] | delete n objects before current position |
| -QD[C|W|L|P] | delete all objects before current position |
| (.D copies text into delete buffer, but does not delete it; ..D deletes text, but does not copy it into the delete buffer) | |
| E | escape to caller, if any |
| QEs | execute module s ($invokeModule) |
| .E | show name of currently executing module |
| Q.E | show names of all executing modules |
| F | prompt to save altered buffers, then continue |
| +F | change autoSaveLimit (0 means no autoSave reminder) |
| QF | If a program invoked with QE is running, raise the exception $abortProgramExcpt; otherwise, exit from MAINEDIT, continuation not allowed |
| -QF | prompt to save altered buffers, then pause |
| .Fs | edit file s, use current window if not on screen |
| +.Fs | edit file s, new window at bottom if not on screen |
| n.Fs | same as .Fs, except n-row window |
| +n.Fs | same as +.Fs, except n-row window |
| -.Fs | edit file s, new window at top if not on screen |
| -n.Fs | same as -.Fs, except n-row window |
| --{n}.Fs | overlay (n-row) window at top |
| ++{n}.Fs | overlay (n-row) window at bottom |
| ..{n}Fs | edit s, making window 1/mth of screen, where m is the number of windows; but no window is allowed to be smaller than n lines |
| +..{n}Fs | do a +{n}.F, then make all windows same size |
| -..{n}Fs | do a -{n}.F, then make all windows same size |
| Q.Fs | change file name of current buffer to s |
| .F?<eol> | display names of most recently edited files |
| G | go to first line of next page |
| -G | go to first line of previous page |
| p.lG | go to page p, line l |
| .G | go to first line of current page |
| .lG | go to line l of current page |
| pG | go to first line of page p |
| +nG | first line of current page + n |
| -nG | first line of current page - n |
| n$G | go to absolute line number n |
| (start G commands with Q to set mark (@ command) before going) | |
| nH | undo previous n changes |
| QH | undo all changes on current line |
| -nH | redo next n changes |
| -QH | redo all changes on current line |
| I | enter insert mode |
| 1IB | insert a buffer (name is prompted for) |
| nICc | insert n c's (n required) |
| QICc | insert c's to right margin |
| 1IF | insert a file (name is prompted for) |
| nIL | insert n blank lines (n required) |
| QIL | insert blank lines to end of window |
| .I | insert blank line, enter insert mode |
| n.I | insert blank line, indent n spaces, enter insert mode |
| nJ | join next to current line, n separating spaces |
| QJ | join next to current line, leave spaces |
| -nJ | join current to previous line, n separating spaces |
| -QJ | join current to previous line, leave spaces |
| .J | fill current paragraph to right margin of window |
| n.J | fill n lines |
| +.J | fill and justify to right margin of window |
| -.J | fill starting at cursor column |
| Q.J | fill all remaining paragraphs in buffer |
| .mJ | fill to right margin (justify) in column m |
| nQ.J | fill next n paragraphs |
| $.J | fill retaining extra spaces after punctuation |
| (All J command modifiers may be combined; i.e., nQ+-.m.J means fill next n paragraphs from cursor column, justifying to column m). | |
| nK | delete (kill) n characters at and to right |
| QK | delete all characters at and to right |
| -nK | delete n characters to left |
| -QK | delete all characters to left |
| .K | prompt to kill each buffer (prompts to save) |
| Q.K | kill one buffer (prompts for name) |
| ..K | kill a character without copying into delete buffer |
| nL[C|W|L] | make n objects lower case |
| QL[C|W|L] | make all objects lower case |
| nM[C|W|L|P] | move current object n further |
| QM[C|W|L|P] | move current object to end |
| -nM[C|W|L|P] | move current object n before current position |
| -QM[C|W|L|P] | move current object to start |
| .M[C|W|L] | mark the appropriate delete buffer |
| 0N | refresh message line |
| nN | refresh n lines at and below in current window |
| -nN | refresh n lines above in current window |
| QN | refresh entire screen; adjust screen size if necessary |
| Q.N | refresh current window |
| O | enter overstrike mode |
| nOCc | overstrike n c's (n required) |
| QOCc | overstrike c's to right margin |
| .O | set BOOLEAN editor option |
| -.O | clear BOOLEAN editor option |
| Q.O | set option globally (if also a local option) |
| Q-.O | clear option globally (if also a local option) |
| .O? | show option settings |
| (use .O optionName value to change the value of non-BOOLEAN options) | |
| P | insert page mark above |
| Q | emphasize the command |
| R[C|W|L|P] | recall and insert group of objects |
| nR[C|W|L|P] | recall and insert n objects |
| QR[C|W|L|P] | recall and insert all objects to mark |
| (.R means leave in delete buffer) | |
| RM | pop mode stack into curMode |
| .RM | set curMode to top of mode stack (not popped) |
| QRM | set curMode to savedMode |
| nSc | skip right to nth occurrence of character c |
| +Sc | skip over c's |
| -nSc | skip left to nth occurrence of character c |
| -+Sc | skip left over c's |
| QnSc | skip down to nth c-line |
| Q+Sc | skip down to next line not starting with c |
| -QnSc | skip up to nth c-line |
| Q+Sc | skip up to next line not starting with c |
| (a c-line is a line with first visible character equal to c. A <sp>-line is one with no visible characters.) | |
| Ts<eol> | search right and all lines down for s ... |
| T<eol> | search right and all lines down for last target(s) |
| nTs<eol> | search right and n-1 lines down for s ... |
| QTr<eol>s...<eol><eol> | search right and all lines down for r or s or ... |
| QnTr<eol>s...<eol><eol> | search right and n-1 lines down for r or s or ... |
| !Ts<eol> | search right and all lines down for pattern s ... |
| n!Ts<eol> | search right and n-1 lines down for pattern s ... |
| ?!T | display help for pattern searches |
| (-T searches left and up) | |
| (qualifying T command with $ makes search case-sensitive) | |
| (qualifying T command with + wraps around buffer beginning or end) | |
| (qualifying T command with QQ makes into a line search) | |
| ({-}.T is an “identifier” search, i.e., the target cannot be bordered by an alphabetic or digit) | |
| U | same as L, except convert to upper case |
| V | give character position, prompt for new one |
| Q..Vs | change view front end to s |
| W | scroll up 4/5 of a window |
| nW | scroll up n lines |
| QW | scroll up all lines |
| -W | scroll down 4/5 of a window |
| -nW | scroll down n lines |
| -QW | scroll down all lines |
| n.W | move current line to line n from top of window |
| -n.W | move current line to line n from bottom of window |
| n..W | set window width to n in all windows |
| nX | move to column n of window (x-coordinate) |
| -nX | move to window width - n + 1 |
| QnX | put right margin at column n (from line origin) |
| -QnX | put left margin at column n (from line origin) |
| nY | move to row n of window (y-coordinate) |
| -nY | move to row n of window, count from bottom up |
| QY | set current window to maximum size |
| QnY | set number of window rows to n (n = 0 kills window) |
| +QY | expand window to bottom of screen |
| +QnY | expand window n rows |
| -QY | synonym for Q0Y |
| -QnY | contract window n rows |
| n.Y | move cursor to nth next window on screen |
| -n.Y | move cursor to nth previous window on screen |
| Q.Y | move cursor to bottommost window on screen |
| -Q.Y | move cursor to topmost window on screen |
| Z | same as S, except delete skipped objects |
| (.Z means do not delete, but put into delete buffer; ..Z means delete, but do not put into delete buffer) | |
| n<bs> | move left n columns |
| Q<bs> | move to left margin |
| n<tab> | move cursor to nth next tab stop |
| -n<tab> | move cursor to nth previous tab stop |
| Q<tab> | set tab stops |
| n<lf> | move down n rows |
| Q<lf> | move to last row |
| <abort> | abort current command, enter command mode |
| n<eol> | move to left margin of nth next line |
| -n<eol> | move to left margin of nth previous line |
| n<sp> | move right n columns |
| Q<sp> | move to last column (equivalent to Q>) |
| 'n | insert character with decimal code n |
| 'Bn | insert character with binary code n |
| 'Hn | insert character with hexadecimal code n |
| 'On | insert character with octal code n |
| n( | move left n words |
| n.( | move to one past end of nth word to left |
| Q( | move to first visible character of line |
| n) | move right n words |
| n.) | move to one past end of (n - 1)st word to right |
| Q) | move to after end of line |
| , | invoke named macro |
| /x.../ | define x to be ..., where x is a macro name (... is carried out as it is typed in) |
| n< | move left n columns |
| Q< | move to first column |
| = | show line info |
| Q= | show buffer info |
| +Q= | show buffer info with front end info |
| n> | move right n columns |
| Q> | move to last column |
| .@ | set mark to current location |
| @ | go to marked location |
| Q@ | set mark, go to previously marked location |
| n\ | move down n rows |
| Q\ | move to bottom row of window |
| n^ | move up n rows |
| Q^ | move to top row of window |
| n<del> | move left n columns |
| Q<del> | move to left margin |
| n.+v<eol> | An := An + v |
| n.-v<eol> | An := An - v |
| -n.-v<eol> | An := v - An |
| n.*v<eol> | An := An * v |
| n./v<eol> | An := An / v |
| -n./v<eol> | An := v / An |
| n.^v<eol> | An := An ^ v (raise An to the power v) |
| -n.^v<eol> | An := v ^ An (raise v to the power in An) |
| n._v<eol> | An := v (and set An's format to v's) |
| n.= | Display value of accumulator n |
| Q.= | Display value of all active accumulators |
| Overstrike Mode | |
| <bs>, <del> | move left 1 column, except end of previous line if at left margin |
| <tab> | overstrike spaces to next tab stop |
| <lf> | move down 1 row |
| <eol> | move to left margin of next line |
| Insert Mode | |
| <bs> | move left 1 column |
| <tab> | insert spaces to next tab stop |
| <lf> | move down 1 row |
| <eol> | break line, move cursor to start of new line |
| <del> | delete character to left, except join current line to previous line if at left margin (like -QJ command) |
MAINEDIT User's Guide, Appendix B