SOS %23(220)    Help file    27-Jan-76


Summary of SOS commands:

Cmd    Meaning            [Parameters]

P    Print               [<range>,<poptions>]
<LF> Print next line
$    Print preceeding line
I    Insert              [<position>,<increment>]
D    Delete              [<range>]
R    Replace             [<range>,<increment>]
F    Find                [<string>$<range>,<foptions>]
S    Substitute          [<old string>$<new string>$<range>,<soptions>]
N    ReNumber lines      [<increment>,<range>,<start1>,<start2>]
 NA  Add <increment> to <range>
 NP  Preserve line numbers over page marks
C    Copy                [<dest-position>,<range>]
        or               [<dest-position>=<filespec>,<range>]
T    Transfer            [<dest-position>,<range>]
A    Alter               [<range>,<aoptions>]
X    eXtend              [<range>,<xoptions>]
E    End SOS editing session & return to Monitor
 ES  Unsequence resulting output file
 EN    (Same as ES)
 ET  Remove sequence numbers and Form Feeds from output file
 EB  Suppress backup file creation
 EQ  Quit (leaves file in unedited state)
 ED  Delete file being written or read
 EX  Same as "E" command (for TECO compatability)
G    Go (End SOS editing session & run specified program)
W    Save World (saves current version of edited file)
M    Insert page Mark    [<position>]
K    Kill page mark      [/<page number>][:/<page number>]
VV   InVert case         [<range>,<voptions>]
VU   ConVert to Upper case [<range>,<voptions>]
VL   ConVert to Lower case [<range>,<voptions>]
B    Position to first line of file
BP   Position to first line of current page
.    Position to given line [<position>]
J    Join                [<position>]
L    List (on LPT)       [<range>]
/    Set SOS parameter   [<parameter>]
=    Print SOS parameter [<parameter>]
@    Invoke indirect command file [<filespec>]
;    Comment line          [<any text>]
H    Help (prints this text)

^G^G Cancel command being entered
^C^C Interrupt current command (enters dialog)
Alter Command operations:

   nC<ch>      Change n characters
  -nD          Delete next/last n characters
    E          Finish line with no printing
   nI<text>$   Insert with temp increment n
    J          Break line and stick rest at front of next
  -nK<ch>      Delete to n occurrences of <ch>
    L          Print line and reposition to start of line
    P          Print line and reprint to current position
    B          Reposition to start of line
    Q          Quit ALTER (restore original line)
  -nR<text>$   Delete n characters then insert (0I)
  -nS<ch>      Skip forward/backward n occurrences of <ch>
   nW          Skip forward n words
   nU          Delete n words
    T<text>$   Delete word then insert text (0I)
  -n<SP>       Space forward/backward n characters
    <CR>       Print rest of line & finish it
   n<RUB>      Backspace n characters
   n<BS>       Backspace n characters
   -<HT>       Skip to end/start of line
   -X          Insert characters at start/end of line
  -n^          Like <SP>, except inverts case of letters
  -n<          Like <SP>, except converts letters to upper case
  -n>          Like <SP>, except converts letters to lower case
   nV          Invert case of letters
  -n@<cmd><ch> Execute <cmd> through n'th occurrence of <ch>
    ^U         Restore original condition of current line
    ^R         Print current line status
    $          End text insertion; cancel repeat count




Special functions of the "I" command:

I<CR>       Resume previous insertion (I or R command stopped by $)

I/<page>    Insert page mark at end of <page>, followed by text inserted
            on empty <page>+1.

I<pos>;!n   Select increment from table of aesthetic values to permit
            insertion of at least n lines of text.
SOS Parameters:

Name         Set  Print  Default Value          What

 .            N     Y       ---            Current <position>
BAK           Y     Y       On             Create backup file <.Qxx>
BASIC         I     N       Off (unless *.BAS) Read BASIC file
BIG           N     Y       ---            Largest page #
BLOCK         I     Y       On             Output file line-blocked
C64           Y     CASE    On             64 character set
C128          Y     CASE    Off (uses "?") 128 character set
CASE          N     CASE    C64 M33 UPPER  Give case information
CHECK         Y     Y       Off            Do quota checking
COLUMN        N     Y       ---            Print terminal column #'s
COMPRESS      I     BLOCK   Off            Output file compressed
CORE          I     N       1.5K           Set size of edit buffer
CREATE        I     NAME    Off            Create new file
DECIDE        Y     Y       Off            Auto ",D"
DELETE        Y     Y       Off            Delete input file
DISK          N     Y       ---            Current quota information
 DSK           (Same as DISK)
DPY           Y     CASE    Off            Special CRT terminal mode
EDIT          I     NAME    On             Normal edit/create mode
ERROR         N     Y       ---            Print text of last error msg
EXACT         Y     Y       Off            Exact letter comparisons
EXPERT        Y     N       Off            Fancy features & short msgs
INCREMENT     Y     Y       100            Default line increment
ISAVE         Y     Y       None           Controls auto-W on inserts
LOCATION      N     Y       ---            First line in edit buffer
LOWER         Y     CASE    Off            Default lower case
M33           Y     CASE    On             Upper-case only terminal
M37           Y     CASE    Off            Upper/lower case terminal
NAME          S     Y       ---            Output file spec
NOBAK         Y     BAK     Off            No backup file
 N             (Same as NOBAK)
NOBASIC       I     N       On (unless *.BAS) Read SOS-format file
NOCHECK       Y     CHECK   On             No quota checking
NODECIDE      Y     DECIDE  On             No auto ",D"
NODELETE      Y     DELETE  On             Don't delete input file
NOEXACT       Y     EXACT   On             Folded letter comparisons
NONSEPARATOR  Y     CASE    On             Don't treat %,$,. as alphanum
NONUMBER      Y     N       Off            Suppress printing line #'s
NOVICE        Y     N       On             Normal mode
NUMBER        Y     N       On             Print line numbers
OLD           Y     BAK     Off            Create "old" file (.Zxx)
OPTION        I     N       ---            Read "SWITCH.INI" file
PLINES        Y     Y       16             Used by "P<CR>"
READONLY      I     NAME    Off            Prevent file modification
 R             (Same as READONLY)
 RONLY         (Same as READONLY)
RUN           Y     Y       "SYS:COMPIL"   Set program to run (G cmd)
SAVE          Y     Y       None           Controls auto-W on commands
SEPARATOR     Y     N       Off            Treat %,$,. as alphanumeric
SEQUENCE      Y     Y       On             Sequence #'s on output file
START         Y     Y       100            Starting sequence #
STEP          Y     Y       100            Increment for unseq. files
STRING        N     Y       ---            Current F & S strings
TEXT          Y     N       Off            Continuous text output file
UNSEQUENCE    Y     SEQUENCE  Off          Unsequence output file
UPPER         Y     CASE    On             Default upper case

User option file "SWITCH.INI" is read to set parameter defaults before
SOS command string is parsed.  "Y" in "Set" column means parameter may
be set via SOS command, SOS "SWITCH.INI" entry, or "/" Set command;  "I"
means parameter must be set with SOS command or "SWITCH.INI" entry;  and
"S" means parameter must be set with "/" Set command.
SOS Special Characters:

Replacement:   ^B  ?"    Next match string
               ^O  ?*    ?*<number>?* is n'th match string
               ^^  ?7    Quote next character

Match:         ^E  ?%    Not next character
               ^X  ?9    Any alphameric (0-9, A-Z, a-z)
               ^A  ?!    Any letter (A-Z, a-z)
               ^F  ?&    Any upper-case letter (A-Z)
               ^W  ?2    Any lower-case letter (a-z)
               ^P  ?+    Any decimal digit (0-9)
               ^\  ?<    Space or Horizontal Tab
                |  ?:    Any separator
               ^T  ?/    Any character 
               ^]  ?>    End of line 
               ^N  ?)    "Zero or more of" next character
               ^V  ?1    "One or more of" next character

Positions:     .    Present line or page
               ^    First line or page
               *    Last line or page

Symbolic       BF:...    Beginning of file
   ranges:     BF!...      (Same)
               ...:EF    End of file
                 EF      Entire file
               BF:EF       (Same)

SOS definitions and meanings:

<range>    ::= <pos>[!<number> or
                     :<pos>]

<pos>      ::= [<line>][/<page>]

<line>     ::= [<number> or
                . or * or ^][(+-)<number>]

<page>     ::= [<number> or
                . or * or ^][(+-)<number>]

<number>   ::= any positive integer

<filespec> ::= [dev:]name[.ext][<path>]

SOS Monitor Command format:

.EDIT command
.CREATE command    or    .R SOS - command
.SOS command

<command> ::= <spec> or <speco>=<speci>
                    where: <spec>  = file to create/edit
                           <speco> = output file
                           <speci> = input file

<spec>
<speci> ::= [dev:]name[.ext][<path>][<nnn>][<psw>][/switches]
<speco>

<path>  ::=  [-]              Default path
             [,]              User's own PPN
             [PR,PG]          PPN only
             [PR,PG,SFD,...]  Full path spec
             [,,SFD,...]      Use own PPN

<nnn>  ::=   Usual three-digit protection code, as in <157>

<psw>  ::=   (1-20 alphameric characters) Encryption password

/switches  ::=  One or more settable SOS parameters, as given above


[End of SOS.HLP]

