Initializtaion file for JOE JOE looks for this file in: 1 - Current directory 2 - User's home directory 3 - /usr/bin (or whatever KEYDEF was set to in the Makefile) Comments: Any line beginning with whitespace is a comment line. At least 2 characters of whitespace past the end of a line also begin a comment. FIRST SECTION: File name dependant mode settings Each line with '*' in the first column indicates the modes which should be set for a particular extension (or ending actually). If there are more than one of these lines which match a particular file name, then the last line which matches the name is the one which is chosen. Here is a list of characters. Each sets a particular mode. If the character is missing, then the mode shown in the parenthasis is set. a autoindent (no auto indent) o overwrite (insert) p picture mode (no picture mode) w word wrap (no word wrap) t tab magic (no tab magic) nnn right margin (default is 76) Here are the file name dependant mode setting lines: * wt76 Default for unknown extensions. This line must appear first. *.c at76 C programs *.h at76 C header files *.p at76 Pascal programs *.f at76 Fortran programs *.joerc at76 This file SECOND SECTION: Lines between the { and the } are the on-line help text. Use \u to turn underline on or off. Use \i to turn inverse on or off. Use \\ to display \ { \i Help Screen turn off with ^KH \i \i \i\uGO\u \uTO\u \uDELETE\u \uMISC\u \uBLOCK\u \uFIND\u \uQUOTE\u \uWINDOW\u \i \i \i \i^B left ^F right ^D single ^T mode ^KB mark ^KF text ` Ctrl ^KO split \i \i \i \i^Z word ^X word ^W >word ^R retype ^KK end ^L next ^\\ bit-7 ^KI 1 / all\i \i \i \i^A edge ^E edge ^O word< ^KA center ^KC copy ^KL line \uFILE\u ^KP up \i \i \i \i^P up ^N down ^J >line ^KJ format ^KM move \uEXIT\u ^KD save ^KN down \i \i \i \i^U page ^V page ^Y line ^KZ shell ^KW save ^KX save ^KR read ^KG grow \i \i \i \i^KU top ^KV end ^K- undo ^K, indnt< ^KY kill ^C abort/ ^KT shrink \i \i \i \i^G matching ([<{` ^K+ redo ^K. indnt> ^K0 subst close window ^KE get file\i \i \i \i ^K= repeat \uMACROS\u: ^K[ record ^K] stop ^K/ play\i \i } THIRD SECTION: Key sequence to command bindings. Use ^@ to ^_ and ^? to specify control characters. Use 'sp' specify the space character. A simple macro facility is provided: commands separated by commas (no whitespace) are executed sequentially. For example: bof,eol ^K 5 Goto end of first line Also, a quoted string may be placed in the command list to supply keyboard input. Inside the string: \\=\, \"=", and \r=return. For example: "\r",saveit,wsplit,"m.out\r",wedit,setbeg,setend,"make\r",cmdblk ^K 2 Will save the file in the current window, make a new window, run "make" in a shell and place the results in the new window when ^K 2 is pressed. Note how the quoted strings appear before the commands which require them. A special command 'wait' types any previous string in as if from the keyboard. For example: "Hello\r",wait ^K 7 Types "Hello" into the edit buffer when ^K 7 is pressed. :main backs ^H Backspace backs ^? backword ^O Backspace word bof ^K U Move cursor to beginning of file bof ^K ^U bof ^K u bol ^A Move cursor to beginning of line bol ^[ [ H bol ^K ^[ [ H bol ^[ O P bol ^K ^[ O P cmdblk ^K 0 Pipe a marked block through a command cpyblk ^K C Copy previously marked block cpyblk ^K ^C cpyblk ^K c ctrlin ^K A Center line ctrlin ^K ^A ctrlin ^K a delblk ^K Y Delete previously marked block delblk ^K ^Y delblk ^K y delch ^D Delete character deleol ^J Delete to end of line dellin ^Y Delete entire line dnarw ^N Move cursor down dnarw ^[ [ B dnarw ^[ O B dnarw ^K ^[ [ B dnarw ^K ^[ O B eexit ^C Exit (window/file) eexit ^K Q eexit ^K q eof ^K V Move cursor to end of file eof ^K ^V eof ^K v eol ^E Move cursor to end of line eol ^[ [ F eol ^K ^[ [ F eol ^[ O S eol ^K ^[ O S exsave ^K X Save & exit exsave ^K ^X exsave ^K x findfirst ^K F Find text findfirst ^K ^F findfirst ^K f findnext ^L Find next findline ^K L Goto line number findline ^K ^L findline ^K l gotomatching ^G indentl ^K , Indent left indentr ^K . Indent right insfil ^K R Insert a file insfil ^K ^R insfil ^K r inss ^G Insert a space inss ^[ [ L inss ^K ^[ [ L killlin ^J Emacs-style kill line killword ^W Delete word under cursor ltarw ^B Move cursor left ltarw ^[ [ D ltarw ^K ^[ [ D ltarw ^[ O D ltarw ^K ^[ O D macrob ^K [ macroe ^K ] macrodo ^K / mode ^T Change mode ooverwrite Overwrite mode off owrap Word wrap off otabmagic Tab magic off oautoind Auto-indent off opic Picture mode off ioverwrite Overwrite on/off iwrap Word wrap on/off itabmagic Tab Magic on/off iautoind Auto-indent on/off ipic Picture mode on/off setrmargin Set right margin moveblk ^K M Move previously marked block moveblk ^K ^M moveblk ^K m pgdn ^V Move cursor 1/2 page down pgdn ^[ [ G pgdn ^K ^[ [ G pgdn ^[ [ 6 ~ pgdn ^K ^[ [ 6 ~ pgup ^U Move cursor 1/2 page up pgup ^[ [ I pgup ^K ^[ [ I pgup ^[ [ 5 ~ pgup ^K ^[ [ 5 ~ push ^K Z Push to a shell push ^K ^Z push ^K z suspend ^K Z Suspend the editor or push to a shell suspend ^K ^Z if system doesn't have job control suspend ^K z redo ^K + Redo reformat ^K J Reformat paragraph reformat ^K ^J reformat ^K j repeat ^K = Repeat rewrite ^R Retype screen rtarw ^F Move cursor right rtarw ^[ [ C rtarw ^K ^[ [ C rtarw ^[ O C rtarw ^K ^[ O C rtn ^M The return key saveit ^K D Save file saveit ^K ^D saveit ^K d saveit ^K S saveit ^K s setbeg ^K B Set beginning of block setbeg ^K ^B setbeg ^K b setend ^K K Set end of block setend ^K ^K setend ^K k stquote ` Next character is a control character stquote8th ^\ Next character has 7th bit set thelp ^K H Toggle help text on/off thelp ^K ^H thelp ^K h thelp ^[ [ 2 8 ~ thelp ^K ^[ [ 2 8 ~ undo ^K - Undelete uparw ^P Move cursor up uparw ^[ [ A uparw ^K ^[ [ A uparw ^[ O A uparw ^K ^[ O A wedit ^K E Edit another file wedit ^K ^E wedit ^K e wexplode ^K I Show 1 or all windows wexplode ^K ^I wexplode ^K i wgrow ^K G Grow window wgrow ^K ^G wgrow ^K g wnext ^K N Goto next window wnext ^K ^N wnext ^K n wprev ^K P Goto previous window wprev ^K ^P wprev ^K p wrdl ^Z Move to previous word wrdl ^[ O Q wrdl ^K ^[ O Q wrdr ^X Move to next word wrdr ^[ O R wrdr ^K ^[ O R writeblk ^K W Write previously marked block to a file writeblk ^K ^W writeblk ^K w wshrink ^K T Shrink window wshrink ^K ^T wshrink ^K t wsplit ^K O Split window wsplit ^K ^O wsplit ^K o type ^I Tab type sp Typable characters type ! type " type # type $ type % type & type ' type ( type ) type * type + type , type - type . type / type 0 type 1 type 2 type 3 type 4 type 5 type 6 type 7 type 8 type 9 type : type ; type < type = type > type ? type @ type A type B type C type D type E type F type G type H type I type J type K type L type M type N type O type P type Q type R type S type T type U type V type W type X type Y type Z type [ type \ type ] type ^ type _ type a type b type c type d type e type f type g type h type i type j type k type l type m type n type o type p type q type r type s type t type u type v type w type x type y type z type { type | type } type ~