Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

EDIT

HELP

TECO

Commands

Errors

Flags

Messages

J

L

C

T

I

K

D

P

A

S

N

FS

EX

BNI

CPQ

DTB

ERR

FNF

IAA

IEC

IFC

IIA

ILL

ILN

IPA

IQC

IQN

IRA

ISA

ISS

IUC

MEM

MRP

NAB

NAC

NAE

NAP

NAQ

NAS

NAU

NFI

NFO

NYA

OFO

PDO

POP

SNI

SRH

STL

UTC

UTM

XAB

YCA

ED

EH

ET

EU

^X

%Search fail in iter

%Exceeding disk quota

[nnn pages]

TECO — VMS 4.6

Additional information available:

EDITHELPTECO

CommandsErrorsFlagsMessages

Commands

Most characters that can be typed at your keyboard are TECO
 commands.  Use them with care.

All TECO commands are terminated with the <ESC> character,
 which will echo as a "$" at your terminal.  To execute a
 command (or string of commands), type a second <ESC> after
 the last command in the string.  No TECO command will be
 executed until two consecutive <ESC>s are typed.  <ESC> may
 be labeled <ALT-MODE> or <PREFIX> on your terminal.

Additional information available:

JLCTIKD
PASNFSEX

J

The "J" command is used to move the text pointer within
 the editing buffer.  Common forms of the command are:

    BJ  Point to the beginning of the buffer
    ZJ  Point to the end of the buffer

L

The "L" command is used to move the text pointer from
 one line to another.  Common forms of the command are:

     L  Move to the beginning of the next line
    0L  Move to the beginning of the current line
    5l  Move to the fifth line past the current line
   -1L  Move back to the previous line

C

The "C" command is used to move the pointer past a
 specified number of characters.  Common forms of the
 "C" command are:

     C  Advance the pointer to the next character
    3C  Move forward by three characters
   -1C  Move back to the previous character

T

The "T" command is used to type text from the editing
 buffer.  Common forms of the "T" command are:

     T  Type text from the pointer to the end of the line
    0T  Type text from the beginning of the current
        line to the pointer
    5T  Print the next five lines of text, starting
        from the pointer
    HT  Print the entire contents of the editing buffer

I

The "I" command is used to insert text, starting at the
 current pointer.  The command is of the form:

     Itext-to-insert<ESC>

 For example, to insert the text "This is a test", type

     IThis is a test$

 (Note that the <ESC> key is echoed as a "$" sign at
  your terminal.)

K

The "K" command is used to delete lines of text from the
 editing buffer.  Common forms of the command are:

     K  Delete the text from the pointer through the
        end of the current line
    0K  Delete the text from the beginning of the
        current line to the pointer
    5K  Delete the next five lines of text, starting
        from the pointer
    HK  delete all of the text in the editing buffer

D

The "D" command is used to delete characters from the
 editing buffer.  Common forms of the command are:

     D  Delete the character which follows the pointer
    5D  Delete the next five characters, starting
        with the character following the pointer
   -1D  Delete the character which immediately precedes
        the pointer

P

The "P" command is used to write the text in the editing
 buffer to the output file and read the next page of text
 from the input file to the editing buffer.  Common forms
 of the command are:

     P  Write the current buffer to the output file
        and get the next page
    5P  Write the current buffer, plus the next four
        pages from the input file, to the output file,
        then read the next page from the input file
        into the editing buffer

A

The "A" command is used to append the next page of text
 from the input file to the end of the current editing
 buffer.  The command is of the form:

     A  Read the next page of text from the input file
        and append it to the end of the current text
        buffer

S

The "S" command is used to locate a specified string of
 text in the current buffer.  If the text is found, the
 pointer is positioned after the specified text.  If the
 text is not found, an error message is printed and the
 pointer is set to the beginning of the buffer.

 The "S" command is of the form:

     Stext-to-locate<ESC>

 For example, to find the text "find me", use the command

     Sfind me$

 (Note that the <ESC> key echoes as "$" at your terminal.)

N

The "N" command is the same as the "S" command, except that
 the search continues across page boundaries, if necessary,
 until the specified text, or the end of the file, is
 encountered.

 The "N" command is of the form:

     Ntext-to-locate<ESC>

 For example, to find the text "find me", which may appear
 on a later page in the file, use the command

     Nfind me$

 (Note the the <ESC> key echoes as "$" at your terminal.)

FS

The "FS" command is used to replace one string with
 another string.  If the specified text is found, it is
 deleted and replaced with the new text, and the pointer
 is positioned at the end of the specified text.  If the
 specified text is not found, the pointer is positioned
 at the beginning of the buffer.

 The "FS" command is of the form:

     FSold-text<ESC>new-text<ESC>

 For example, to replace the next occurrence of "exumple"
 with "example", use the command

     FSexumple$example$

 (Note that the <ESC> key echoes as "$" at your terminal.)

EX

The "EX" command is used to write the current buffer to
 the output file, copy the remainder of the input file to
 the output file, and exit from TECO.  For example,

     EX$$

 (Note that the <ESC> key echoes as "$" at your terminal,
  and that you must type the <ESC> key twice to cause the
  command to be executed.)

Errors

All TECO error messages are of the form

  ?XXX    Short text message

and abort TECO's command execution.

Typing a question mark (?) immediately after TECO's input prompt will
print the erring command string up to and including the error point.

Typing a slash (/) immediately after TECO's input prompt will print a
longer explanation of the error.

Additional information available:

BNICPQDTBERRFNFIAAIEC
IFCIIAILLILNIPAIQCIQN
IRAISAISSIUCMEMMRPNAB
NACNAENAPNAQNASNAUNFI
NFONYAOFOPDOPOPSNISRH
STLUTCUTMXABYCA

BNI

     ?BNI    > not in iteration

         There is a close angle bracket not  matched  by  an
         open  angle  bracket somewhere to its left.  (Note:
         an iteration in a macro stored in a Q-register must
         be complete within the Q-register.)

CPQ

     ?CPQ    Can't pop Q-reg

         A ] command has been executed and there is  nothing
         saved on the Q-register push down list.

DTB

     ?DTB    Delete too big

         An nD command  has  been  attempted  which  is  not
         contained within the current page.

ERR

     ?ERR    ID, text

         Some VAX/VMS system service call failed.  The error
         message ID and text explain the error.

FNF

     ?FNF    File not found "filespec"

         The requested input file could not be located.   If
         this  occurred within a macro the colon modified ER
         or EB command may be necessary.

IAA

     ?IAA    Illegal A arg

         The argument preceding a :A command is negative  or
         0.

IEC

     ?IEC    Illegal E character

         An invalid E command  has  been  executed.   The  E
         character must be followed by an alphabetic to form
         a legal E command (e.g., ER or EX).

IFC

     ?IFC    Illegal F character

         An invalid F command has been executed.

IIA

     ?IIA    Illegal insert arg

         A command of  the  form  "nItext$"  was  attempted.
         This combination of character and text insertion is
         illegal.

ILL

     ?ILL    Illegal command

         An attempt has been made to execute an invalid TECO
         command.

ILN

     ?ILN    Illegal number

         An 8 or 9 has been entered when the radix  of  TECO
         is set to octal.

IPA

     ?IPA    Illegal P arg

         The  argument  preceding  a  P  or  PW  command  is
         negative or 0.

IQC

     ?IQC    Illegal " character

         One of the valid " commands did not  follow  the ".

IQN

     ?IQN    Illegal Q-reg name

         An illegal Q-register name was specified in one  of
         the Q-register commands.

IRA

     ?IRA    Illegal radix arg

         The argument to a ^R radix command must be  8,  10,
         or 16.

ISA

     ?ISA    Illegal search arg

         The argument preceding a search command is 0.  This
         argument must not be 0.

ISS

     ?ISS    Illegal search string

         One of the search string  special  characters  (^Q,
         ^R,  etc.)  would  have  modified the search string
         delimiter (usually ESCAPE).

IUC

     ?IUC    Illegal ^ character

         The character following an ^ must have ASCII  value
         between  100  and  137 inclusive or between 141 and
         172 inclusive.

MEM

     ?MEM    Memory overflow

         Insufficient  memory  available  to  complete   the
         current  command.   Make  sure  the Q-register area
         does not contain much unnecessary  text.   Breaking
         up  the  text  area  into  multiple  pages might be
         useful.

MRP

     ?MRP    Missing )

         There is a right parenthesis that is not matched by
         a corresponding left parenthesis.

NAB

     ?NAB    No arg before ^_

         The  ^_  command  must  be  preceded  by  either  a
         specific numeric argument or a command that returns
         a numeric value.

NAC

     ?NAC    No arg before ,

         A command has been executed in which  a  ,  is  not
         preceded by a numeric argument.

NAE

     ?NAE    No arg before =

         The =, ==, or  ===  command  must  be  preceded  by
         either  a  specific  numeric  argument or a command
         that returns a numeric value.

NAP

     ?NAP    No arg before )

         A ) parenthesis has been  encountered  and  is  not
         properly preceded by a specific numeric argument or
         a command that returns a numeric value.

NAQ

     ?NAQ    No arg before "

         The " commands must be preceded by a single numeric
         argument  on  which  the  decision  to  execute the
         following commands or skip to  the  matching  '  is
         based.

NAS

     ?NAS    No arg before ;

         The ;  command must be preceded by a single numeric
         argument  on  which  the  decision  to  execute the
         following commands or skip to  the  matching  >  is
         based.

NAU

     ?NAU    No arg before U

         The U command must be preceded by either a specific
         numeric  argument  or  a  command  that  returns  a
         numeric value.

NFI

     ?NFI    No file for input

         Before issuing an input command, such as Y,  it  is
         necessary to open an input file by use of a command
         such as ER or EB.

NFO

     ?NFO    No file for output

         Before issuing an output command such as  N  search
         or  P it is necessary to open an output file by use
         of a command such as EW or EB.

NYA

     ?NYA    Numeric arg with Y

         The Y command must not  be  preceded  by  either  a
         numeric  argument  or  a  command  that  returns  a
         numeric value.

OFO

     ?OFO    Output file already open "filespec"

         A command has been executed which tried  to  create
         an  output  file,  but  an output file currently is
         open.  It is typically appropriate to use the EC or
         EK  command as the situation calls for to close the
         output file.

PDO

     ?PDO    Push-down list overflow

         The  command  string  has   become   too   complex.
         Simplify it.

POP

     ?POP    Pointer off page

         A J,  C  or  R  command  has  been  executed  which
         attempted  to  move  the pointer off the page.  The
         result of executing  one  of  these  commands  must
         leave  the pointer between 0 and Z, inclusive.  The
         characters referenced by a D or m,nX  command  must
         also be within the buffer boundary.

SNI

     ?SNI    ; not in iteration

         A ;  command has been executed outside of  an  open
         iteration   bracket.   This  command  may  only  be
         executed within iteration brackets.

SRH

     ?SRH    Search failure "text"

         A search command not preceded by a  colon  modifier
         and  not within an iteration has failed to find the
         specified "text".  After  an  S  search  fails  the
         pointer  is  left  at  the beginning of the buffer.
         After an N or _ search fails the last page  of  the
         input  file  has  been input and, in the case of N,
         output, and the buffer is cleared.  In the case  of
         an  N  search  it is usually necessary to close the
         output file and reopen it for continued editing.

STL

     ?STL    String too long

         A search or file name string is too long.  This  is
         most  likely  the  result of a missing ESCAPE after
         the string.

UTC

     ?UTC    Unterminated command

         This is a general error which is usually caused  by
         an   unterminated   insert,   search,  or  filespec
         argument,   an   unterminated   ^A   message,    an
         unterminated  tag  or comment (i.e., unterminated !
         construct), or a missing ' character which closes a
         conditional execution command.

UTM

     ?UTM    Unterminated macro

         This error is the same as  the  ?UTC  error  except
         that  the unterminated command was executing from a
         Q-register (i.e., it  was  a  macro).   (Note:   An
         entire command sequence stored in a Q-register must
         be complete within the Q-register.)

XAB

     ?XAB    Execution aborted

         Execution of TECO was aborted.  This is usually due
         to the typing of CTRL/C.

YCA

     ?YCA    Y command aborted

         An attempt has been made  to  execute  an  Y  or  _
         search command with an output file open, that would
         cause text in the text buffer to be erased  without
         outputting  it  to the output file.  The ED command
         controls this check.

Flags

TECO has a number of internal mode flags which can be
 set and/or read to modify the standard TECO environment.

To read the value of a flag, use
     Fx
 where "F" is the name of the flag and "x" is a command
 which accepts a numeric argument.

To set the value of a flag, use
     xF
 where "F" is the name of a flag and "x" is a number or
 a command which returns a numeric value.

Additional information available:

EDEHETEU^X

ED

 Value  Meaning if Set

     1  ^ (up-arrow) in search arguments is a literal ^

        (If 0, ^ in search arguments means that the next
        character should be interpreted as a control character)

     2  Disables Yank protection

        (If 0, the Y, N, and _ commands are aborted if they
        would result in data being lost)

     4  Disallow memory expansion when reading in a text page

        (If 0, memory is expanded, if needed, so that the whole
        text page fits in the text buffer)

     8  Unimplemented by TECO under VAX/VMS...

    16  Leaves buffer pointer unchanged on search failures

        (If 0, search failures move the buffer pointer to the
        beginning of the text buffer)

    32  Enable immediate mode commands

    64  Only move the buffer pointer by one on iterative
        search failures

        (If 0, the buffer pointer moves by the length of
        the search string on iterative search failures)

   128  Disable scrolling's automatic text buffer display
        prior to TECO's prompt

        (If 0, the text buffer display is automatically
        updated just prior to TECO's prompt when scrolling
        is enabled)

 Multiple values may be combined in the ED flag

EH

 The EH flag controls TECO's action when an error is encountered.

 Value  Meaning if Set

     0  Same as 2

     1  Only the 3-character error code is printed

     2  The 3-character error code and a short message are printed

     3  The 3-character error code, a short message, and a
        more detailed explanation of the error are printed

     4  The command(s) which lead to the error are printed,
        simulating the effect of the "?" command

 The 4 may be combined with either 0, 1, 2, or 3 in the EH flag

ET

 Value  Meaning if set

     1  Type-out is in pass-all mode
     2  Terminal is a scope
     4  Terminal has lower-case; accept lower-case
     8  ^T reads with no echo
    16  Cancels ^O on output
    32  ^T reads with no wait (^T returns -1 if no input)
    64  Unimplemented by TECO under VAX/VMS...
   128  TECO aborts if an error is encountered
   256  Output is truncated to the terminal's width
   512  "W" commands are supported for this scope terminal
  1024  Unimplemented by TECO under VAX/VMS...
  2048  Unimplemented by TECO under VAX/VMS...
  4096  Terminal is an 8-bit terminal
  8192  Accept accent grave (`) as ESCape for command input
 32768  Traps CTRL/C's (reset if CTRL/C is typed)

 Multiple values may be combined in the ET flag

EU

 Value  Meaning

     0  Flags lower case characters on output with "T"
        or "V" commands

    >0  Flags upper case characters on output

    <0  No case flagging on output

^X

 Value  Meaning

     0  Either case matches in searches
   <>0  Exact case matches are required in searches

Messages

TECO produces one informational and two warning messages.  These
messages do not abort the command and execution continues.

Additional information available:

%Search fail in iter%Exceeding disk quota[nnn pages]

%Search fail in iter

         Indicates that a search command has  failed  inside
         iteration  brackets.   A  ;   (semi-colon)  command
         immediately  following  the  search   command   can
         typically  be used to suppress this message.  After
         printing the message, the iteration is  terminated,
         i.e., TECO simulates a 0; command.

%Exceeding disk quota

         Indicates that the  current  output  operation  has
         exceeded  your  disk quota.  You may continue to do
         output up to your  quota  overdraft  limit.  It  is
         suggested  that  you exit from the current edit and
         purge old file versions to free up some disk space.

[nnn pages]

         This informational message tells you  the  size  of
         TECO's  combined text buffer and Q-register storage
         in pages.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026