-asis		Characters 128 - 255 shown as-is
-lmsg \i%k%T%W%I%X %n %m%R %M
-rmsg  %S Row %r Col %c %t  Ctrl-K H for help


*
-wordwrap

*.c
-autoindent

*.h
-autoindent

*akefile
*AKEFILE
*rc

*.p
-autoindent


{Basic
\i   Help Screen    turn off with ^KH    more help with ESC . (^[.)              \i
\i \i\uCURSOR\u           \uGO TO\u            \uBLOCK\u      \uDELETE\u   \uMISC\u         \uEXIT\u      \i \i
\i \i^B left ^F right ^U  prev. screen ^KB begin  ^D char. ^KJ reformat ^KX save  \i \i
\i \i^P up   ^N down  ^V  next screen  ^KK end    ^Y line  ^T  options  ^C  abort \i \i
\i \i^Z previous word ^A  beg. of line ^KM move   ^W >word ^R  refresh  ^KZ shell \i \i
\i \i^X next word     ^E  end of line  ^KC copy   ^O word< ^@  insert   \uFILE\u      \i \i
\i \i\uSEARCH\u           ^KU top of file  ^KW file   ^J >line \uSPELL\u        ^KE edit  \i \i
\i \i^KF find text    ^KV end of file  ^KY delete ^_ undo  ^[N word     ^KR insert\i \i
\i \i^L  find next    ^KL to line No.  ^K/ filter ^^ redo  ^[L file     ^KD save  \i \i
}

{Windows
\i   Help Screen    turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
\i \i^KO Split the window in half           ^KE Load file into window             \i \i
\i \i^KG Make current window bigger         ^KT Make current window smaller       \i \i
\i \i^KN Go to the window below             ^KP Go to the window above            \i \i
\i \i^C  Eliminate the current window       ^KI Show all windows / Show one window\i \i
}

{Advanced
\i   Help Screen    turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
\i \i\uMACROS\u         \uMISC\u            \uSCROLL\u    \uSHELL\u       \uGOTO\u       \uI-SEARCH\u     \i \i
\i \i^K[ 0-9 Record ^K SPACE status ^[W Up    ^K' Window  ^[B To ^KB ^[R Backwards\i \i
\i \i^K]     Stop   ^K\\ Repeat      ^[Z Down  ^[! Command ^[K To ^KK ^[S Forwards \i \i
\i \i^K 0-9  Play   ^[M Math        ^K< Left  \uQUOTE\u       \uDELETE\u     \uBOOKMARKS\u    \i \i
\i \i^K?     Query  ^KA Center line ^K> Right `  Ctrl-    ^[Y yank   ^[ 0-9 Goto  \i \i
\i \i^[D     Dump   ^[H Message               ^\\ Meta-    ^[O line<  ^[^[   Set   \i \i
}

{Programs
\i   Help Screen    turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
\i \i\uGOTO\u                 \uINDENT\u   \uCOMPILING\u                                      \i \i
\i \i^G  Matching ( [ {   ^K, less ^[C Compile and parse errors                   \i \i
\i \i^K- Previous place   ^K. more ^[E Parse errors                               \i \i
\i \i^K= Next place                ^[= To next error                              \i \i
\i \i^K; Tags file search          ^[- To prev. error                             \i \i
}

{Search
\i   Help Screen    turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
\i \iSpecial search sequences:                                                    \i \i
\i \i    \\^  \\$  matches beg./end of line     \\?     match any single char        \i \i
\i \i    \\<  \\>  matches beg./end of word     \\*     match 0 or more chars        \i \i
\i \i    \\c     matches balanced C expression \\\\     matches a \\                  \i \i
\i \i    \\[..]  matches one of a set          \\n     matches a newline            \i \i
\i \i    \\+     matches 0 or more of the character which follows the \\+           \i \i
\i \iSpecial replace sequences:                                                   \i \i
\i \i    \\&     replaced with text which matched search string                    \i \i
\i \i    \\0 - 9 replaced with text which matched Nth \\*, \\?, \\c, \\+, or \\[..]     \i \i
\i \i    \\\\     replaced with \\               \\n     replaced with newline        \i \i
}

{Names
\i   Help Screen    turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
\i \i Hit TAB at file name prompts to generate menu of file names                 \i \i
\i \i Or use up/down keys to access history of previously entered names           \i \i
\i \i Special file names:                                                         \i \i
\i \i      !command                 Pipe in/out of a shell command                \i \i
\i \i      >>filename               Append to a file                              \i \i
\i \i      -                        Read/Write to/from standard I/O               \i \i
\i \i      filename,START,SIZE      Read/Write a part of a file/device            \i \i
\i \i          Give START/SIZE in decimal (255), octal (0377) or hex (0xFF)       \i \i
}

{Joe
\i   Help Screen    turn off with ^KH    prev. screen ^[,                        \i
\i \i Send bug reports to: Joe Allen (jhallen@world.std.com)                      \i \i
}


:windows		Bindings common to all windows
type		^@ TO 		Type a character
abort		^C		Abort window
abort		^K Q
abort		^K ^Q
abort		^K q
arg		^K \		Repeat next command
explode		^K I		Show all windows or show only one window
explode		^K ^I
explode		^K i
help		^K H		Help menu
help		^K ^H
help		^K h
hnext		^[ .		Next help window
hprev		^[ ,		Previous help window
math		^[ m		Calculator
math		^[ M		Calculator
math		^[ ^M		Calculator
msg		^[ h		Display a message
msg		^[ H		Display a message
msg		^[ ^H		Display a message
nextw		^K N		Goto next window
nextw		^K ^N
nextw		^K n
pgdn		.kN		Screen down
pgdn		^V
pgdn		^[ [ 6 ~
pgup		.kP		Screen up
pgup		^U
pgup		^[ [ 5 ~
play		^K 0 TO 9	Execute macro
prevw		^K P		Goto previous window
prevw		^K ^P
prevw		^K p
query		^K ?		Macro query insert
record		^K [		Record a macro
retype		^R		Refresh screen
rtn		^M		Return
shell		^K Z		Shell escape
shell		^K ^Z
shell		^K z
stop		^K ]		Stop recording

:main			Text editing window
:inherit windows

 Spell-check macros

:def spellfile filt,"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;cat ispell.tmp;/bin/rm ispell.tmp",rtn,retype
:def spellword psh,nextword,markk,prevword,markb,filt,"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;tr -d <ispell.tmp '\\012';/bin/rm ispell.tmp",rtn,retype,nextword

spellfile	^[ l
spellword	^[ n


 Extra functions not really part of JOE user interface:

delbol		^[ o		Delete to beginning of line
delbol		^[ ^O		Delete to beginning of line
dnslide		^[ z		Scroll down one line
dnslide		^[ Z		Scroll down one line
dnslide		^[ ^Z		Scroll down one line
edit,rtn,filt,
query,parserr	^[ c		Compile
edit,rtn,filt,
query,parserr	^[ ^C		Compile
execmd		^[ x		Prompt for command to execute
execmd		^[ X		Prompt for command to execute
execmd		^[ ^X		Prompt for command to execute
isrch		^[ s		Forward incremental search
isrch		^[ S		Forward incremental search
isrch		^[ ^S		Forward incremental search
notmod		^[ ~		Not modified
nxterr		^[ =		To next error
parserr		^[ e		Parse errors in current buffer
parserr		^[ E		Parse errors in current buffer
parserr		^[ ^E		Parse errors in current buffer
prverr		^[ -		To previous error
rsrch		^[ r		Backward incremental search
rsrch		^[ R		Backward incremental search
rsrch		^[ ^R		Backward incremental search
run		^[ !		Run a program in a window
tomarkb		^[ b		Go to beginning of marked block
tomarkb		^[ ^B		Go to beginning of marked block
tomarkk		^[ k		Go to end of marked block
tomarkk		^[ ^K		Go to end of marked block
tomarkk		^[ K		Go to end of marked block
txt		^[ i		Prompt for text and insert it
txt		^[ ^I		Prompt for text and insert it
txt		^[ I		Prompt for text and insert it
upslide		^[ w		Scroll up one line
upslide		^[ ^W		Scroll up one line
upslide		^[ W		Scroll up one line
yankpop		^[ y		Undelete text
yankpop		^[ ^Y		Undelete text
yankpop		^[ Y		Undelete text

 Standard JOE user interface

quote8		^\		Enter Meta chars
quote		`		Enter Ctrl chars

backs		^?		Backspace
backs		^H
backw		^O		Backspace word
bknd		^K '		Shell window
blkcpy		^K C		Copy marked block
blkcpy		^K ^C
blkcpy		^K c
blkdel		^K Y		Delete marked block
blkdel		^K ^Y
blkdel		^K y
blkmove		^K M		Move marked block
blkmove		^K ^M
blkmove		^K m
blksave		^K W		Save marked block
blksave		^K ^W
blksave		^K w
bof		^K U		Goto beginning of file
bof		^K ^U
bof		^K u
bol		.kh		Goto beginning of line
bol		^A
bol		^[ [ H
bol		^[ [ 1 ~
center		^K A		Center line
center		^K ^A
center		^K a
crawll		^K <		Pan left
crawlr		^K >		Pan right
delch		.kD		Delete character
delch		^D
deleol		^J		Delete to end of line
dellin		^Y		Delete entire line
delw		^W		Delete word to right
dnarw		.kd		Go down
dnarw		^N
dnarw		^[ O B
dnarw		^[ [ B
edit		^K E		Edit a file
edit		^K ^E
edit		^K e
eof		^K V		Go to end of file
eof		^K ^V
eof		^K v
eol		.kH		Go to end of line
eol		^E
eol		^[ [ F
eol		^[ [ 4 ~
exsave		^K X		Save and exit
exsave		^K ^X
exsave		^K x
ffirst		^K F		Find first
ffirst		^K ^F
ffirst		^K f
filt		^K /		Filter block
fnext		^L		Find next
fmtblk		^K J		Format paragraphs in block
fmtblk		^K ^J
fmtblk		^K j
gomark		^[ 0 TO 9	Goto bookmark
groww		^K G		Grow window
groww		^K ^G
groww		^K g
insc		.kI		Insert a space
insc		^@
insf		^K R		Insert a file
insf		^K ^R
insf		^K r
lindent		^K ,		Indent to left
line		^K L		Goto line no.
line		^K ^L
line		^K l
ltarw		.kl		Go left
ltarw		^B
ltarw		^[ O D
ltarw		^[ [ D
macros		^[ d		Dump keyboard macros
macros		^[ ^D
markb		^K B		Set beginning of marked block
markb		^K ^B
markb		^K b
markk		^K K		Set end of marked block
markk		^K ^K
markk		^K k
mode		^T		Options menu
nextpos		^K =		Goto next position in position history
nextword	^X		Goto next word
open		^]		Split line
prevpos		^K -		Previous position in history
prevword	^Z		Previous word
redo		^^		Redo changes
rindent		^K .		Indent to right
rtarw		.kr		Go right
rtarw		^F
rtarw		^[ O C
rtarw		^[ [ C
save		^K D		Save file
save		^K S
save		^K ^D
save		^K ^S
save		^K d
save		^K s
setmark		^[ ^[		Set bookmark
shrinkw		^K T		Shrink window
shrinkw		^K ^T
shrinkw		^K t
splitw		^K O		Split window
splitw		^K ^O
splitw		^K o
stat		^K SP		Show status
tag		^K ;		Tags file search
tomatch		^G		Goto matching parenthasis
undo		^_		Undo changes
uparw		.ku		Go up
uparw		^P
uparw		^[ O A
uparw		^[ [ A

:prompt			Prompt windows
:inherit main
complete	^I

:menu			Selection menus
:inherit windows
abort		^[ ^[
backsmenu	^?
backsmenu	^H
bofmenu		^K U
bofmenu		^K ^U
bofmenu		^K u
bolmenu		.kh
bolmenu		^A
dnarwmenu	.kd
dnarwmenu	^N
dnarwmenu	^[ [ B
dnarwmenu	^[ O B
eofmenu		^K V
eofmenu		^K ^V
eofmenu		^K v
eolmenu		.kH
eolmenu		^E
ltarwmenu	.kl
ltarwmenu	^B
ltarwmenu	^[ [ D
ltarwmenu	^[ O D
rtarwmenu	.kr
rtarwmenu	^F
rtarwmenu	^[ [ C
rtarwmenu	^[ O C
rtn		SP
rtn		^I
rtn		^K H
rtn		^K h
rtn		^K ^H
uparwmenu	.ku
uparwmenu	^P
uparwmenu	^[ [ A
uparwmenu	^[ O A

:query			Single-key query window
:inherit windows

:querya			Single-key query window for quoting
type		^@ TO 

:querysr		Search & replace query window
type		^@ TO 
