


JOE(1)                                                     JOE(1)


NNAAMMEE
       joe - Joe's Own Editor

SSYYNNOOPPSSIISS
       jjooee ffiillee
       jjooee

DDEESSCCRRIIPPTTIIOONN
       JOE  is  a  screen editor designed to be easy to learn for
       novice users and powerful enough to be useful for  experi-
       enced  users.  After you invoke the editor, you can hit ^K
       H ('^' mean hold the Ctrl key down while pressing the fol-
       lowing  key)  to  turn  on  the  help text.  From this you
       should be able to figure out how to use the editor.  A few
       things need further explanation however.

       Note that JOE is a student written program and is not sup-
       ported by WPI or the CCC.  This means that JOE will not be
       maintained  by the CCC staff and that the CCC staff do not
       have to help you use it.  Use this  program  at  your  own
       risk.   However,  as  long as the author of the program is
       here at WPI, he will be glad to help you.  Mail any  ques-
       tions you have to 'rcarter@wpi.wpi.edu'


UUSSAAGGEE
       JOE  uses  the "TERM" environment variable and the termcap
       database to determine the height and width of  the  screen
       and  to  determine if the terminal uses scrolling regions.
       Except  for  these  differences  the  terminal   must   be
       ANSI/VT100 compatible.

       JOE  also  tries  to  get  the width and the height of the
       screen from the TIOCGSIZE ioctl if your system supports it
       and  if it reports that its values are valid.  This allows
       JOE to use resizable windows.  Unfortunately,  the  values
       returned  by  TIOCGSIZE are occasionally wrong when JOE is
       used on a normal serial terminal.  If you find  that  this
       is the case, you can force the values TIOCGSIZE returns by
       typing the commands: 'stty rows 24' and 'stty cols 80'

       To customize the help screen or the key bindings, copy the
       file  /usr/local/stusrc/joe/.joerc  to your home directory
       and modify it.  The comments at the beginning of the  file
       explain how to do this.

       Be sure that the baud rate as reported by stty is correct.
       JOE uses this to optimize its screen  writes.   If  you're
       going over a network, set the baud rate to your best esti-
       mate of the actual throughput.  If you're using JOE in  an
       X  window, set the baud rate to the highest possible (usu-
       ally 'stty extb' or 'stty 38400').

       ^K J reformats the current paragraph.  ^T R can be used to



                                                                1





JOE(1)                                                     JOE(1)


       change  the right margin.  The default is the width of the
       screen.  If auto-indent mode is set,  indented  paragraphs
       are formatted.

       Use  ^K  B to set the beginning of a block and ^K K to set
       the end of a block.  You can  then  copy,  move,  save  or
       delete  the  marked  block.  To turn the highlighting off,
       hit ^K B ^K K (make the beginning and ending the  same  or
       move  the  beginning  past  the  ending or move the ending
       before the beginning).

       ^K O splits a window into two.  You can then use ^K  E  to
       load  a  file  into the new window.  ^K I shows either one
       window or it shows all of the windows.  Use ^C  to  elimi-
       nate a window.

       Control  characters  (0-31,  127)  are  shown  underlined.
       Characters above 127 are shown in inverse.  You can use  `
       and  ^ to  enter control characters or characters with the
       7th bit set.

       Hit ^K F to find text.  You will be prompted to enter  the
       search string.  After hitting Return, you will be prompted
       for options- you can type 1 or more of:

                      i    Ignore case
                      b    Backwards
                      r    Replace
                      nnn  Find  the  nth  occurance  or  do  nnn
       replacements

                 If you hit r, you will also be prompted to enter
       the           replacement string.

                 Hit ^L to find the next occurance of the  previ-
       ous  search            string  (with  all the same options
       except nnn).

       Hit ^K L to goto an entered line number.

       Hit ^K 0 to execute a shell command.  If a block was  set,
       the shell command gets the block on its standard input and
       the any output the command writes to it's standard  output
       will replace the block.  If a block was not set, any stan-
       dard output is simply inserted into the text at the cursor
       location.

       You  may wish to capture the error output from the command
       instead of its standard output.  This may be done by  giv-
       ing  appropriate  shell  modifiers along with the command.
       For example if you want to run the command 'make bsd':

            make bsd            stderr -> screen, stdout ->  edi-
       tor



                                                                2





JOE(1)                                                     JOE(1)


            make  bsd >&2             stderr -> screen, stdout ->
       screen
            make bsd 2>&1            stderr -> editor, stdout  ->
       editor
            make  bsd 3>&1 1>&2 2>&3       stderr -> editor, std-
       out -> screen

       If for some reason JOE gets a signal (that it's  going  to
       crash  or  that  the system is messing up), it attempts to
       save all of its modified files into a  file  "DEADJOEnnnn"
       (where nnnn is the process I.D.) in the current directory.
       Edit this file to get your latest modifications back after
       such an occurance.


MMOODDEESS
       A  number  of  editing modes are settable with the ^T com-
       mand:

            Insert/Overtype
                           When you type  characters,  they  will
       either be
                           inserted  before  the existing text or
       will
                           replace the existing text.

            Tab Magic on/off
                           When tab magic is on, the column  num-
       ber of
                           characters  preceded by tab characters
       will
                           automatically be maintained.

            Word Wrap on/off
                           When word wrap is on, words typed past
       the
                           right  margin  will automatically wrap
       to the
                           left edge of the screen.

            Autoindent on/off
                           When autoindent is on, new lines  will
       begin
                           with  same  amount  of whitespace from
       the left
                           edge of  the  screen.   Also  indented
       paragraphs
                           will be formatted properly.

            Picture mode on/off
                           When  picture  mode  is on, the right-
       arrow and
                           down-arrow keys will  move  freely  on
       the screen.



                                                                3





JOE(1)                                                     JOE(1)


                           I.E., right arrow will not wrap to the
       next
                           line and down arrow will not  stop  at
       the end
                           of the file.


FFIILLEESS
        .joerc                   Initialization  file.  JOE looks
       for
                                this in  the  current  directory,
       the
                                user's home directory and in the
                                directory containing JOE


RREESSTTRRIICCTTIIOONNSS
       The file size is limited to the system process size limit


BBUUGGSS
       Send bug reports to rcarter@wpi.wpi.edu (Joseph H. Allen).
       This should be valid to at least January, 1991.   You  can
       also contact me through snail mail:

                                Joseph H. Allen
                                28 Dale Lane
                                Smithtown, N.Y. 11787





























                                                                4


