Basic edit commands

BOT       
CAPPEND text
CDELETE target
CFIRST
CINSERT text
CLAST
COVERLAY mask
CREPLACE text
CHANGE -old-new- [nl [no [fo]]]   
CMSG command
CURSOR SCREEN/FILE linen° coln°
DELETE [n/*]   
DOWN [n/*]     
FIND text  
GET file [f n°] [n n°]
HELP      
INPUT sourcetext  
LEFT [n/*] 
LOCATE /text/[ &/| /text/ ....]
MSG message
PRINT [Linenumbers] [Heading]                      
PUT file [f n°] [n n°]
QQUIT
QUIT
READ CMDLINE
RECALL  
REPLACE sourceline
RESET
RIGHT [n/*]
SAVE [filename]
SELECTSET OFF/ON top left bot right [RECT]
SENDKEY filename, which sends all characters in the file as if they were typed in. You use the coding convention of SENDKEYS for Microsoft .Net for special characters such as {tab}, {enter}, etc
SHOWEOL
TOP
UNDO
UP [n/*] 
XEDIT [next file] / ?        ? to use FileOpenDialog
=
&.......
COMMAND   
MACRO   

Break-key or Alt-Break-key terminates a running command

SET
     AUTOSAVE n / OFF
     CASE MIXED/UPPERCASE RESPECT/IGNORE  
     CMDLINE ON TOP/n°/BOTTOM
     CURLINE ON linen°
     DISPLAY low high/*
     FONTSIZE size
     HEX ON/OFF 
     LINEND ON/OFF
     LRECL  nnn
     MSGLINE ON first n° [OVERLAY]
     PENDING BLOCK/ON commandname / OFF
     PF01 ... PF12 command
     RECFM F/V/FB/VB
     RESERVED OFF / linen° [Colorname] [HIGH/NOHIGH] text to display (Colors/highlighting not active)
     SCOPE ALL/DISPLAY
     SELECT n°lines/* level
     SHADOW ON/OFF
     STAY ON/OFF
     SYNONYM newname oldname n°chars
     TABS ON [nn nn nn nn ..... ] / OFF
     TRUNC rightcol/*
     UNDO number
     UNICODE STD/NO
     VERIFY ON/OFF [HEX] leftcol° rightcol° ...
     WRAP ON/OFF
     ZONE leftcol° rightcol°/*

EXTRACT
     APPLICATIONPATH
     CASE
     CURLINE
     CURSOR
     SIZE
     FLSCREEN
     FNAME
     FONTSIZE
     FTYPE
     FULLFILENAME
     LENGTH
     LINE
     LRECL
     LSCREEN
     PENDING 
     RING
     SCOPE
     SELECTSET
     SHADOW
     TEMP
     TERMINAL
     VERIFY 
     WRAP
     ZONE

LINE COMMANDS
     I[n] insert 1 / n empty lines
     D[n] delete 1/n lines
     X[n] exclude 1 / n lines from view
     S    reinclude excluded lines 
     >[n] add spaces at start of line
     >>[n]add spaces at start of a block of lines
     <[n] cancel spaces at start of line
     <<[n]cancel spaces at start of a block of lines
     "[n] repeat a line
     ""[n]repeat lines

MOUSE possibilities:	
     select lines with mouse left button (button 1)
     select a rectangle with CTRL-mouse left button
     Copy, Cut or Paste with mouse right button (button 2)
     or with MCOPY, MCUT or MPASTE commands.
     Paste inserts or overwrites, according to setting of Ins-key.
     MACRO RECORD / STOP RECORDING to capture keyboard strokes and to playback, using Microsoft's {key} codes to insert special keys
     Mouseclicks on button 1, Ctrl-1 or 2 are handles by the edittor.
     All other mousebuttons are handled by a Rexx-programm called MOUSEBUTTONn.REX, 
      where n stands for the buttonnumber, allowing eg. to use the "forward" and "Backward" 
      buttons. Pressing Shift, Ctrl or Alt and a mousebutton adds a prefix to the Rexx name 
      eg. SHIFT-MOUSEBUTTON1.REX
     Using the mousewheel you execute MOUSEWHEELUP.REX or MOUSEWHEELDOWN.REX. Again there
      might be a prefix for the Shift, Alt or Ctrl key.
     Doubleclicking the left button executes DOUBLECLICK.REX
     Command SELECTSET ON/OFF top left bot right [RECT] to specify an area to be selected in a Rexx
       ON: define area  
       OFF: no selection
       RECT: if specified indicates a rectangular select, as with CTRL-mouse
     EXTRACT /SELECTSET/ provides for coordinates of selected area (or all -1)
     Escape-key cancels selection.
 
LSE – type support, Language Sensitive Editor once on Dec Vms, now on HP,
  allows templates and expansion, aiding you to write in a rather unknown language. 
  As a sample I add the REX.LSE file for writing REXX. Syntax is kept very simple.
  The only tricky thing is the Repeat Token. ... means repeat, ..; means repeat on new line.
  The special symbols for recognizing tokens are specified inside the commands and may be changed.
  Commands: Exp (expand token, ctrl-E), ExpD (delete [] around optional source, CTRL-D,
  ExpW (remove optional part, CTRL-W) and ExpN (jump to next token, CTRL-TAB).
  Want to give it a try: create a new file with type .REX, insert a line, type PROGRAM
  and press Ctrl-E and then Ctrl-E on various tokens. Look into REX.LSE to see why it happens
  (DEC HP VMS LSE are registreeed trademarks of the owners)
   

For details on XEDIT commands see: 
http://ukcc.uky.edu/~ukccinfo.391/xeditref.html
For details on XEDIT extract command see:
http://mitvma.mit.edu/cmshelp.cgi?XEDIT%20EXTract%20(ALL 

 
Basic Cms commands

GLOBALV [SELECT name] GET/PUT/PUTS/PUTP var 
       to save variables between sessions
STATE filename 
       to see if file exists
EXECIO nr_lines/* DISKW/DISKR filename [StartRecNr [Recfm [Lrecl]]] [( VAR v / STEM s.]
       limited version, no FINIS, file closes always
MSG, EMSG, SMSG  message 
       limited version, displays message only
CMSG message 
       message will be the next command on the command-line 


Edit commands implemented in Rexx:

FILE      to save and exit
STACK n   stack n lines from currentline in program-stack for pulling    
ALL       to view only lines containing given string(s), see program-structures eg. cobol: ALL /PERFORM/ to see perform-structures
          all other lines will be excluded 
PARSE     used in ALL by VM/SP
SPLTJOIN  splits/joins 1 <-> 2 lines
FNDDECL   Finds first occurence of the name to which the cursor points
FNDSECT   Finds Cobol section, of the name to which the cursor points
FNDRET    Returns to the point in the source where Fnd... or Sav... parted
SAVEPOS   Saves cursor position, where FNDRET will return to.
COBLEN    Calculates the length in bytes of a IBM-cobol structure
SAVVIS    Writes all visible lines (eg. with ALL /.../) to a (given) file
DELDUPLICATES deletes duplicate lines, ifvthey are paired in the file
SHALL     Shows all lines containing the word that the cursor points to
LOCUC     Locates Ansi-string represented in Unicode (with x'00' before each char)
SORT      Sorts a file ascending on a given colunm (or first colunm).
WRDGET    Copies a word under the cursor to globalv
WRDPUT    Pastes the word copied by WRDGET
LINUNIQ   Deletes succeeding lines with equal keyfields
TRIMR     Strips trailing spaecs from all lines
NUMMER    puts a sequencenumber in the visible lines
COMPFILE  Compare contents of all files in a (sub)directory
VB6toVBnet change all Len(s) to s.length(); Trim(s) to s.Trim(); UCase(s) to s.ToUpper()



Edit linecommands implemented in rexx:

C         to copy/move line(s) Before or After a line
CC
M
MM
B
A
DD         to delete a block if lines
XX         to hide a block of lines

Extra linecommands implemented in rexx:

PP         to Put a block of lines in Globalv
GG         to Get a PUTted-block 
II         to insert 1 line at a time, until you enter an empty line 
CM         comment out a block of lines with //
UC         uncomment block

Special Key-strokes:

Ins: Toggle Insert/Overstrike
Home: move cursor to commandline
End: move cursor to end of line. If already at end of line: move to begin of line
Tab: move cursor to next source or linenumber field
BackTab: move cursor to previous source or linenumber field
Return: execute linecommands, execute command
DoubleClick: calls DoubleClick.rex, which (modifiable) selects the word under the cursor 


At invocation Xedit executes "system profile.rex" to set the defaults. This file also
includes all messages, thus allowing translation of the package in any language.
If invoked as "XEDIT filename (PROFILE profilename" xedit will execute profilename.rex next.
All parameters specified after ( will be executed as "SET"s of 2 or 3 words, but if you
use Verify it must be the last option for it is variable in length.
Example: "XEDIT filename (LRECL 10 RECFM F PF01 file CASE Mixed Respect VERIF 1 40 H 1 40"
Parameters may be specified also after the filename in the FileOpenBox, 
Example "name.exe (LRECL 40 RECFM F VERIFY 1 40 HEX 1 40", 
which would show an .EXE as a fixed length file both in ascii and hexadecimal.

Windows Vista or 7 user: if you want to modify or add commands, you need to add a permission to write in the programs directory:
- visualize properties of the XediitPc map. 
- Click on Security tab, 
- add yourself as a user that has all permissions.

This editor may also be used as a stand-alone Rexx interpreter.
Invoke Xedit.exe from the Cmd-line (Dos-box) with the /R filename option
Xedit wil execute the file named after the /R and finish. No edit-window exists.

_______________________________________________________________________________________________


Rexx features:

All statement types are implemented except:
   NUMERIC
   CONDITIONS and TRAPS
   SIGNAL is partly implemented: SIGNAL ON NOVALUE and SIGNAL label 

Not all functions are present. Available:
   ABBREV        QUEUED
   ABS           RANDOM
   B2X           REVERSE
   C2X           RIGHT
   COMPARE       SIGN
   COPIES        STRIP
   DATATYPE      SUBSTR
   DATE          TIME
   DELSTR        TRANSLATE
   EXTERNALS     TRUNC
   FORMAT        VALUE (note: Dos limitation, can't set a DOS environment variable)
   INDEX         VERIFY
   INSERT        WORD
   LASTPOS       WORDS
   LEFT          X2B
   LENGTH        X2C
   OVERLAY       XRANGE
   POS           STREAM
   CHARS         LINES
   CHARIN        LINEIN
   CHAROUT       LINEOUT 

Not all operators are implemented. Those available are:
   +(plus) -(minus) *(times) /(divide) %(int. divide) //(mod) **(power)
   |(or) &(and) ^ ! \(not) =(equal) ==(exactly equal) <> >< != ^= \=(not equal)
   <(less) <= ^> !> \>(less or equal) >(greater) >= ^< !< \<(greater or equal) 
   ||(concatenate strings)


The user may interrupt a running Rexx by hitting BREAK or by closing the PcXedit-window. 
The edit session will stay alive

For details on the REXX programming language see the file REX.DOC.TXT