basic full screen editor commands

logical key     typical keystroke       function
___________     _________________       ________________________
untype          backspace               backspace and delete
delete          delete char             delete one character
clear_eol       clear line              clear to end of line
undo            ctrl_b                  restore line
alt_key         ctrl_a                  alt_key substitute      
overstrike      ctrl_p                  form overstrike
enter           return                  enter the current line
cursor_up       cursor_up or ctrl_k     cursor up one line
cursor_down     cursor_down or ctrl_j   cursor down one line
cursor_left     cursor_left             cursor left one space
cursor_right    cursor_right or ctrl_l  cursor right one space
scroll_up       shift_up arrow          scroll up one line
scroll_down     shift_down arrow        scroll down one line
page_up         shift_prev              scroll up one page
page_down       shift_next              scroll down one page
apl_keyboard    ctrl_n                  switch to apl input
text_keyboard   ctrl_o                  switch non_apl input
insert_mode     insert char             insert mode on/off
interrupt       break                   interrupt apl program
o_u_t           ctrl_z                  interrupt quote_quad input
refresh         ctrl_f                  re_display the screen
________________________________________________________________

general full screen editor commands
  cmd % command key, generally tab   ;' % optional field
  opts % options                     c/r % return or enter
  name % variable or function name   n % repetition count

  cancelling a command>  repeat the cmd prefix.

edit ring control
cmd e name ;opts' cr      edit named object
cmd w ;name' ;opts' cr    write object to workspace
cmd z ;name' ;opts' cr    write, quit, return to session
cmd q ;all' cr            delete screen from ring
cmd g name cr             get named object and insert in screen
cmd f ;name' cr           forward to the next or named screen
cmd b cr                  backward to previous screen
cmd s cr                  to the apl session screen
cmd r                     display ring contents

;opts'>  data type of edit or write command, or line numbering
  _fn  function     _char character
  _vec vector       _ln0  line numbers off
  _mat matrix       _ln1  line number on :default"

cursor movement                   scrolling
cmd h      left margin            cmd y       to top line
cmd l      right end of line      cmd u       to bottom line
cmd j      last line of screen    cmd c       to top page
cmd k      first line of screen   cmd v       to bottom page
cmd ;n' h  left n spaces          cmd ;n' y   up n lines
cmd ;n' l  right n spaces         cmd ;n' u   down n lines
cmd ;n' j  down n lines           cmd ;n' c   up n pages
cmd ;n' k  up n lines             cmd ;n' v   down n pages

cmd ;n' x c   move to next KcK on this line
cmd ;n' X c   move to previous KcK on this line
cmd ;n' `     move to next K`K on this line

deleting characters within a line
cmd ;n' d l            delete n characters to the right
cmd ;n' d space        alternate form of above
cmd ;n' d h            delete n characters to the left
cmd ;n' d x c          delete right to the nth occurence of c
cmd ;n' d X c          delete left to the nth occurence of c
cmd ;n' d `            delete right to the nth `

marking a line
cmd m c     mark the current line with character c
cmd o c     move cursor to line marked by c

delete lines :KdK" and save         save lines :K[K" w/o deletion
cmd ;n' d j    delete n lines down             cmd ;n' [ j
cmd ;n' d d    :same as above"                 cmd ;n' [ [
cmd ;n' d k    delete n lines up               cmd ;n' [ k
cmd d a        delete to end of screen         cmd [ a
cmd ;n' d a    delete to line n                cmd ;n' [ a
cmd ;n' d o c  delete to line marked with c    cmd ;n' [ o c

inserting saved lines
cmd p    insert saved lines below cursor
cmd P    insert saved lines above cursor
cmd i    insert one blank line below cursor
cmd I    insert one blank line above cursor

splitting and joining lines
cmd ,    join next line to current one
cmd .    split into 2 lines at cursor

string search and replace
cmd / text1 cr             search for text1
cmd / cr                   repeat the last string search
cmd ;n' ? ? text2 cr       replace text1 with text2
cmd ~ ? ? text2 cr         replace all text1 with text2
cmd ;n' ? l text2 cr       replace n chars with text2
cmd ;n' ? space text2 cr   :same as above"
cmd ;n' ? h text2 cr       replace n chars leftward with text2
cmd ;n' ? x c text2 cr     replace right through nth occurence
                              of character c with text2
cmd ;n' ? X c text2 cr     :as above, nth character leftward"
cmd ;n' ? ` text2 cr       replace through the nth ` with text2
cmd space                  repeat the last replace command

miscellaneous
cmd t  status line on/off       cmd Q  display help file
cmd =  command mode on/off
