## Syntax

           joe [global-options] [ [local-options] filename ]...

           jstar [global-options] [ [local-options] filename ]...

           jmacs [global-options] [ [local-options] filename ]...

           rjoe [global-options] [ [local-options] filename ]...

           jpico [global-options] [ [local-options] filename ]...

## Description

           JOE  is  a  powerful  ASCII-text  screen editor.  It has a
           "mode-less" user interface which is similer to many  user-
           friendly  PC  editors.   Users  of Micro-Pro's WordStar or
           Borland's "Turbo" languages will feel at home.  JOE  is  a
           full featured UNIX screen-editor though, and has many fea
           tures for editing programs and text.

           JOE also emulates several other editors.  JSTAR is a close
           immitation  of WordStar with many "JOE" extensions.  JPICO
           is a close immitation of the Pine  mailing  system's  PICO
           editor,  but with many extensions and improvements.  JMACS
           is a GNU-EMACS immitation.  RJOE is a  restricted  version
           of JOE, which allowes you to edit only the files specified
           on the command line.

           Although JOE is actually five different editors, it  still
           requires  only one executable, but one with five different
           names.  The name of the editor with an "rc" appended gives
           the  name  of  JOE's initialization file, which determines
           the personality of the editor.

           JOE is free software;  you can distribute it and/or modify
           it  under  the  terms of the GNU General Public License as
           published by the Free  Software  Foundation.   I  have  no
           plans  for  turning  JOE  into  a commercial or share-ware
           product.   JOE  is  available  over  the   Internet   from
           www.sourceforge.net/projects/joe-editor.

## Usage

           To  start  the  editor,  type joe followed by zero or more
           names of files you want to edit.  Each file  name  may  be
           preceeded by a local option setting (see the local options
           table which follows).  Other global options,  which  apply
           to  the  editor as a whole, may also be placed on the com
           mand line (see the global options  table  which  follows).
           If  you  are  editing  a new file, you can either give the
           name of the new file when you invoke the editor, or in the
           editor  when you save the new file.  A modified syntax for
           file names is provided to allow you to edit  program  out
           sequences  are duplicated on other keys, so that you don't
           need to press the control key: ESC will work in  place  of
           ^[,  Del  will work in place of ^?, Backspace will work in
           place of ^H, Tab will work in place of ^I, Return or Enter
           will  work  in place of ^M and Linefeed will work in place
           of ^J.  Some keyboards may give you trouble with some con
           trol  keys.   ^_, ^^ and ^@ can usually be entered without
           pressing shift (I.E., try ^-, ^6 and ^2).  Other keyboards
           may  reassign  these  to  other keys.  Try: ^., ^, and ^/.
           ^SPACE can usually be used in place of ^@.  ^\ and ^]  are
           interpreted by many communication programs, including tel
           net and kermit.  Usually you just hit the key twice to get
           it to pass through the communication program.

           Once you have typed ^K H, the first help window appears at
           the top of the screen.  You can continue to enter and edit
           text  while  the help window is on.  To page through other
           topics, hit ^[, and ^[. (that is, ESC , and ESC  .).   Use
           ^K H to dismiss the help window.

           You  can  customize  the keyboard layout, the help screens
           and a number of behavior defaults by  copying  JOE's  ini
           tialization  file  (usually  /etc/joerc) to .joerc in your
           home directory and then by modifying it.  See the  section
           joerc below.

           To  have  JOE  used  as your default editor for e-mail and
           News, you need to set the EDITOR  and  VISUAL  environment
           variables  in  your  shell  initialization file (.cshrc or
           .profile)  to  refer  to  JOE  (joe  usually  resides   as
           ${exec_prefix}/bin/joe).

           There  are a number of other obscure invocation parameters
           which may have to be set, particularly  if  your  terminal
           screen  is  not  updating as you think it should.  See the
           section Environment variables below.

## Command Line Options

           The following global options may be specified on the  com
           mand line:

           -asis  Characters with codes above 127 will be sent to the
                  terminal as-is, instead of as inverse of the corre
                  sponding  character  below  128.   If this does not
                  work, check your terminal server.

           -backpath path
                  If this option  is  given,  backup  files  will  be
                  stored  in  the  specified  directory instead of in
                  goes past extremes.

           -columns nnn
                  Sets the number of screen columns.

           -csmode
                  Continued  search mode: a search immediatly follow
                  ing  a  search  will  repeat  the  previous  search
                  instead  of prompting for new string.  This is use
                  ful for the the ^[S and ^[R commands and  for  when
                  joe is trying to be emacs.

           -dopadding
                  Joe usually assumes that there is some kind of flow
                  control between it and the tty.   If  there  isn't,
                  this  option  will make joe output extra ^@s to the
                  tty as specified by the termcap entry.   The  extra
                  ^@s  allow the terminal to catch up after long ter
                  minal commands.

           -exask This option makes ^KX verify  the  file  name  that
                  it's about to write.

           -force This  option  makes  sure that the last line of the
                  file has a line-feed which it's saved.

           -help  The editor will start with the help  screen  on  if
                  this option is given.

           -keepup
                  Normally  the  column number and control-key prefix
                  fields of the status lines  are  on  a  one  second
                  delay  to  reduce  CPU  consumption,  but with this
                  option they are updated after each key-stroke.

           -lightoff
                  The block highlighting will go away after any block
                  command if this option is given.

           -lines nnn
                  Sets the number of screen lines.

           -nonotice
                  This option prevent the copyright notice from being
                  displayed when the editor starts.

           -nosta This option eliminates the  top-most  status  line.
                  It's  nice  for when you only want to see your text
                  on the screen or if you're using a vt52.

           -noxon Attempt to turn off ^S/^Q processing.  This is use
                  ful for when joe is trying to be WordStar or EMACS.

           -orphan
                  When this option is active, extra files on the com
                  mand  line  will  be  placed  in  orphaned  buffers
                  instead of in extra windows.  This  is  useful  for
                  when joe is trying to be emacs.

           -pg nnn
                  This  specifies  the  number of lines to keep after
                  PgUp/PgDn (^U/^V).  If -1 is given, half the window
                  is kept.

           -skiptop nnn
                  Don't  use the top nnn lines of the screen.  Useful
                  for when joe is used as a BBS editor.

           Each of these options may be specified in the  joerc  file
           as well.  In addition, the NOXON, BAUD, LINES, COLUMNS and
           DOPADDING options may be specified with environment  vari
           ables.

           The  JOETERM  environment  variable may be set to override
           the regular TERM environment variable for specifying  your
           terminal type.

           The  following  options may be specified before each file
           name on the command line:

           +nnn   The cursor starts on the specified line.

           -crlf  Joe uses CR-LF as the end of line sequence  instead
                  of  just  LF.   This  is  for editing MS-DOS or VMS
                  Typing overwrites existing  characters  instead  of
                  inserting before them.

           -lmargin nnn
                  Sets the left margin.

           -rmargin nnn
                  Sets the right margin.

           -tab nnn
                  Sets the tab width.

           -indentc nnn
                  Sets  the indentation character for ^K, and ^K. (32
                  for SPACE, 9 for TAB).

           -istep nnn
                  Sets the indentation step for ^K, and ^K..

           -linums
                  Line numbers are displayed before each line.

           -rdonly
                  The file is read only.

           -keymap name
                  Use an alternate section of the joerc file for  the
                  key sequence bindings.

           These  options  can  also  be specified in the joerc file.
           They can be set  depending  on  the  file-name  extension.
           Programs  (.c, .h or .p extension) usually have autoindent
           enabled.  Wordwrap is enabled on other files, but rc files
           have it disabled.

## Editing Tasks

       Basic Editing
           When  you  type  characters into the editor, they are nor
           mally inserted into the file being edited (or appended  to
           the  file  if the cursor is at the end of the file).  This
           is the normal operating mode of the editor.  If  you  want
           to  replace some existing text, you have to delete the old
           some reason), use ^F to move forwards (right), ^B to  move
           backwards  (left),  ^P  to move to the previous line (up),
           and ^N to move to the next line  (down).   The  right  and
           left  arrow  keys  simply  move  forwards or backwards one
           character at a time through the text:  if  you're  at  the
           beginning of a line and you press left-arrow, you will end
           up at the end of the previous line.  The up and down arrow
           keys  move  forwards and backwards by enough characters so
           that the cursor appears in the same column that it was  in
           on the original line.

           If  you want to indent the text you enter, you can use the
           TAB key.  This inserts a special control  character  which
           makes the characters which follow it begin at the next TAB
           STOP.  TAB STOPS normally occur every 8 columns, but  this
           can  be  changed with the ^T D command.  PASCAL and C pro
           grammers often set TAB STOPS on every 4 columns.

           If for some reason your terminal  screen  gets  messed  up
           (for example, if you receive a mail notice from biff), you
           can have the editor refresh the screen by hitting ^R.

           There are many other keys for  deleting  text  and  moving
           around  the file.  For example, hit ^D to delete the char
           acter the cursor is on instead of deleting backwards  like
           Backspace.  ^D will also delete a line-break if the cursor
           is at the end of a line.  Type ^Y  to  delete  the  entire
           line the cursor is on or ^J to delete just from the cursor
           to the end of the line.

           Hit ^A to move the cursor to the  beginning  of  the  line
           it's  on.   Hit  ^E  to  move the cursor to the end of the
           line.  Hit ^U or ^V for scrolling the cursor  up  or  down
           1/2  a screen's worth.  "Scrolling" means that the text on
           the screen moves, but the cursor stays at the  same  place
           relative to the screen.  Hit ^K U or ^K V to move the cur
           sor to the beginning or the end of the file.  Look at  the
           help  screens  in  the editor to find even more delete and
           movement commands.

           If you make a mistake, you can hit ^_ to  "undo"  it.   On
           most  keyboards you hit just ^- to get ^_, but on some you
           might have to hold both the Shift and Control keys down at
           the  same time to get it.  If you "undo" too much, you can
           "redo" the changes back into existence by hitting ^^ (type
           this with just ^6 on most keyboards).

           If  you were editing in one place within the file, and you
           then temporarily had to look  or  edit  some  other  place
           within the file, you can get back to the original place by
           hitting ^K -.  This command actually returns  you  to  the
           last  place  you  made a change in the file.  You can step
           of that file is created in the current directory, with a ~
           appended  to the name, which contains the original version
           of the file.

       Word wrap and formatting
           If you type past the right edge of the screen in a C  lan
           guage  or PASCAL file, the screen will scroll to the right
           to follow the cursor.  If you type past the right edge  of
           the screen in a normal file (one whose name doesn't end in
           .c, .h or .p), JOE will automatically wrap the  last  word
           onto  the  next line so that you don't have to hit Return.
           This is called word-wrap mode.  Word-wrap can be turned on
           or  off  with the ^T W command.  JOE's initialization file
           is usually set up  so  that  this  mode  is  automatically
           turned  on  for  all  non-program  files.  See the section
           below on the joerc file to change this and other defaults.

           Aside  for Word-wrap mode, JOE does not automatically keep
           paragraphs formatted like some word-processors.   Instead,
           if you need a paragraph to be reformatted, hit ^K J.  This
           command "fills in" the paragraph that the  cursor  is  in,
           fitting  as  many words in a line as is possible.  A para
           graph, in this case, is a block of  text  separated  above
           and below by a blank line.

           The  margins  which  JOE uses for paragraph formatting and
           word-wrap can be set with the ^T L and ^T R commands.   If
           the  left margin is set to a value other than 1, then when
           you start typing at the beginning of a  line,  the  cursor
           will immediately jump to the left margin.

           If  you  want to center a line within the margins, use the
           ^K A command.

       Over-type mode
           Sometimes it's tiresome to have to delete old text  before
           or  after you insert new text.  This happens, for example,
           when you are changing a table and you want to maintain the
           column position of the right side of the table.  When this
           occurs, you can put the editor in over-type mode  with  ^T
           T.   When  the  editor is in this mode, the characters you
           type in replace existing characters, in the way an  ideal
           ized  typewriter would.  Also, Backspace simply moves left
           instead of deleting the character to the left,  when  it's
           not  at the end or beginning of a line.  Over-type mode is
           not the natural way of dealing with  text  electronically,
           so  you  should go back to insert-mode as soon as possible
           by typing ^T T again.

           If you need to insert while you're in over-type mode,  hit
           then  hitting a character in the range @ A B C ... X Y Z [
           ^ ] \ _ to get the number 0 - 31, and ? to get  127.   For
           example,  if you hit ` J, you'll insert a line-break char
           acter, or if you hit ` I, you'll insert  a  TAB  character
           (which  does  the  same thing the TAB key does).  A useful
           control character to enter is 12 (` L), which causes  most
           printers to advance to the top of the page.  You'll notice
           that JOE displays this character as an underlined L.   You
           can  enter  the characters above 127, the meta characters,
           by first hitting ^\.  This adds 128 to the next  (possibly
           control) character entered.  JOE displays characters above
           128 in inverse-video.  Some foreign languages, which  have
           more letters than English, use the meta characters for the
           rest of their alphabet.  You have to  put  the  editor  in
           ASIS  mode (described later) to have these passed untrans
           lated to the terminal.

       Prompts
           If you hit TAB at any file name prompt, joe  will  attempt
           to  complete the name you entered as much as possible.  If
           it couldn't complete the entire name,  because  there  are
           more than one possible completions, joe beeps.  If you hit
           TAB again, joe list the  completions.   You  can  use  the
           arrow  keys  to  move around this directory menu and press
           RETURN or SPACE to select an item.  If you press the first
           letter  of  one  of  the  directory  entries,  it  will be
           selected, or if more than one entry  has  the  same  first
           letter,  the  cursor  will jump between those entries.  If
           you select a subdirectory or ..,  the  directory  name  is
           appended  to  the  prompt  and the new directory is loaded
           into the menu.  You can hit Backspace to go  back  to  the
           previous directory.

           Most  prompts  record  a history of the responses you give
           them.  You can hit up and down arrow to step through these
           histories.

           Prompts  are  actually  single line windows with no status
           line, so you can use any editing command that you normally
           use  on  text  within  the prompts.  The prompt history is
           actually just other lines of the same "prompt file".  Thus
           you  can  can  search  backwards though the prompt history
           with the normal ^K F command if you want.

           Since prompts are windows, you can also switch out of them
           with ^K P and ^K N.

       Where am I?
           Hit  ^K  SPACE  to have JOE report the line number, column
           number, and byte number on the last line  of  the  screen.
           If  you  want to save only a selected section of the file,
           see the section on Blocks below.

           If you want to include another file  in  the  file  you're
           editing, use ^K R to insert it.

       Temporarily suspending the editor
           If  you need to temporarily stop the editor and go back to
           the shell, hit ^K Z.  You might want to do  this  to  stop
           whatever  you're  editing  and answer an e-mail message or
           read this man page, for example.  You have to type  fg  or
           exit (you'll be told which when you hit ^K Z) to return to
           the editor.

       Searching for text
           Hit ^K F to have the editor search forwards  or  backwards
           for  a  text  fragment  (string)  for  you.   You  will be
           prompted for the  text  to  search  for.   After  you  hit
           Return,  you  are prompted to enter options.  You can just
           hit Return again to have  the  editor  immediately  search
           forwards  for  the  text,  or you can enter one or more of
           these options:

           b      Search backwards instead of forwards.

           i      Treat uppercase and lower case letters as the  same
                  when  searching.   Normally uppercase and lowercase
                  letters are considered to be different.

           nnn    (where nnn is a number) If you enter a number,  JOE
                  searches  for the Nth occurrence of the text.  This
                  is useful for going to  specific  places  in  files
                  structured in some regular manner.

           r      Replace  text.  If you enter the r option, then you
                  will be  further  prompted  for  replacement  text.
                  Each  time  the  editor  finds the search text, you
                  will be prompted as to whether you want to  replace
                  the  found  search  text with the replacement text.
                  You hit: y to replace the text and  then  find  the
                  next occurrence, n to not replace this text, but to
                  then find the next occurrence, r to replace all  of
                  the remaining occurrences of the search text in the
                  remainder of the file without asking for  confirma
                  tion  (subject  to  the nnn option above), or ^C to
                  stop searching and replacing.

           \?     This finds exactly one character.  For example,  if
                  you  give  A\?B  as  the search text, JOE will find
                  AXB, but not AB or AXXB.

           \^ \$  These match the beginning and end of a  line.   For
                  example,  if  you give \^test\$, then JOE with find
                  test on a line by itself.

           \< \>  These match the beginning and end of a  word.   For
                  example, if you give \<\*is\*\>, then joe will find
                  whole words which have  the  sub-string  is  within
                  them.

           \[...] This  matches  any  single  character which appears
                  within the brackets.  For example, if  \[Tt]his  is
                  entered  as  the search string, then JOE finds both
                  This and this.  Ranges of characters can be entered
                  within the brackets.  For example, \[A-Z] finds any
                  uppercase letter.  If the first character given  in
                  the brackets is ^, then JOE tries to find any char
                  acter not given in the the brackets.

           \c     This works like \*, but matches a  balanced  C-lan
                  guage  expression.   For example, if you search for
                  malloc(\c), then JOE will find all  function  calls
                  to  malloc, even if there was a ) within the paren
                  thesis.

           \+     This finds zero or  more  of  the  character  which
                  immediately  follows  the  \+.  For example, if you
                  give \[ ]\+\[ ], where the  characters  within  the
                  brackets are both SPACE and TAB, then JOE will find
                  whitespace.

           \\     Matches a single \.

           \n     This finds the special  end-of-line  or  line-break
                  character.

           A  number of special character sequences may also be given
           in the replacement string:

                  string.

           \n     Use this if you need to put  a  line-break  in  the
                  replacement string.

           Some examples:

           Suppose  you  have a list of addresses, each on a separate
           line, which starts with "Address:" and  has  each  element
           separated by commas.  Like so:

           Address: S. Holmes, 221b Baker St., London, England

           If  you  wanted  to rearrange the list, to get the country
           first, then the city, then the person's name, and then the
           address, you could do this:

           Type ^K F to start the search, and type:

           Address:\*,\*,\*,\*\$

           to  match  "Address:",  the four comma-separated elements,
           and then the end of the line.  When asked for options, you
           would type r to replace the string, and then type:

           Address:\3,\2,\0,\1

           To shuffle the information the way you want it. After hit
           ting return, the search would begin, and the  sample  line
           would be changed to:

           Address: England, London, S. Holmes, 221b Baker St.

       Blocks
           If  you want to move, copy, save or delete a specific sec
           tion of text, you  can  do  it  with  highlighted  blocks.
           First, move the cursor to the start of the section of text
           you want to work on, and press ^K B.  Then move the cursor
           to  the  character just after the end of the text you want
           to affect and press ^K K.  The text between the ^K  B  and
           ^K  K  should  become  highlighted.  Now you can move your
           cursor to someplace else in your document and press  ^K  M
           to move the highlighted text there.  You can press ^K C to
           make a copy of the highlighted text and insert it to where
           the cursor is positioned.  ^K Y to deletes the highlighted
           text.  ^K W, writes the highlighted text to a file.

           A very useful command is ^K /, which filters  a  block  of
           text through a unix command.  For example, if you select a
           Auto-indent mode toggled with the ^T I command.  The joerc
           is  normally  set  up so that files with names ending with
           .p, .c or .h have auto-indent mode  enabled.   When  auto-
           indent mode is enabled and you hit Return, the cursor will
           be placed in the same column that the first  non-SPACE/TAB
           character was in on the original line.

           You can use the ^K , and ^K . commands to shift a block of
           text to the left or right.  If no highlighting is set when
           you  give  these commands, the program block the cursor is
           located in will be selected, and will be moved  by  subse
           quent ^K , and ^K . commands.  The number of columns these
           commands shift by can be set through a ^T option.

       Windows
           You can edit more than one file at the same time  or  edit
           two  or  more  different  places  of the same file.  To do
           this, hit ^K O, to split the screen into two windows.  Use
           ^K P or ^K N to move the cursor into the top window or the
           lower window.  Use ^K E to edit a new file in one  of  the
           windows.   A  window  will  go away when you save the file
           with ^K X or abort the file with ^C.  If you abort a  file
           which  exists in two windows, one of the window goes away,
           not the file.

           You can hit ^K O within a window to create even more  win
           dows.  If you have too many windows on the screen, but you
           don't want to eliminate them, you can hit ^K I.  This will
           show  only  the  window  the cursor is in, or if there was
           only one window on the screen to begin with,  try  to  fit
           all  hidden windows on the screen.  If there are more win
           dows than can fit on the screen, you can hit ^K N  on  the
           bottom-most  window  or ^K P on the top-most window to get
           to them.

           If you gave more than one file name to JOE on the  command
           line, each file will be placed in a different window.

           You can change the height of the windows with the ^K G and
           ^K T commands.

       Keyboard macros
           Macros allow you to record  a  series  of  keystrokes  and
           replay them with the press of two keys.  This is useful to
           automate repetitive tasks.  To start  a  macro  recording,
           hit  ^K  [  followed  by a number from 0 to 9.  The status
           line will display (Macro n recording...).   Now,  type  in
           the  series  of  keystrokes  that  you  want to be able to
           repeat.  The commands  you  type  will  have  their  usual
           effect. Hit ^K ] to stop recording the macro.  Hit ^K fol
           keep in mind when recording a macro.

           If you find that the macro you are recording itself has  a
           repeated  set of key-strokes in it, you can record a macro
           within the macro, as long as you  use  a  different  macro
           number.   Also  you can execute previously recorded macros
           from within new macros.

       Repeat
           You can use the repeat command, ^K \, to repeat  a  macro,
           or  any  other  edit command or even a normal character, a
           specified number of times.  Hit ^K \, type in  the  number
           of  times  you want the command repeated and press Return.
           The next edit command you now give will be  repeated  that
           many times.

           For example, to delete the next 20 lines of text, type:

           ^K  20<return>^Y

       Rectangle mode
           Type  ^T X to have ^K B and ^K K select rectangular blocks
           instead of stream-of-text blocks.  This mode is useful for
           moving,  copying, deleting or saving columns of text.  You
           can also filter columns of text with the ^K / command-  if
           you  want  to sort a column, for example.  The insert file
           command, ^K R is also effected.

           When rectangle mode is selected, over-type  mode  is  also
           useful  (^T  T).  When over-type mode is selected, rectan
           gles  will  replace  existing  text  instead  of   getting
           inserted  before it.  Also the delete block command (^K Y)
           will clear the selected rectangle  with  SPACEs  and  TABs
           instead of deleting it.  Over-type mode is especially use
           ful for the filter block command (^K  /),  since  it  will
           maintain the original width of the selected column.

       Tag search
           If  you  are  editing  a  large C program with many source
           files, you can use the ctags program to  generate  a  tags
           file.   This  file  contains a list of program symbols and
           the files and positions where  the  symbols  are  defined.
           The  ^K  ;  command  can be used to lookup a symbol (func
           tions, defined constants, etc.), load the file  where  the
           symbol is defined into the current window and position the
           cursor to where the symbol is defined.  ^K ;  prompts  you
           for  the  symbol  you want, but uses the symbol the cursor
           was on as a default.  Since ^K ; loads the definition file
           output  of make, the result of grepping a set of files for
           a  string,  or  directory  listings  from  FTP   sessions.
           Besides  typeable characters, the keys ^C, Backspace, DEL,
           Return and ^D are passed to the  shell.   Type  the  shell
           exit command to stop recording shell output.  If you press
           ^C in a shell window, when the cursor is not at the end of
           the window, the shell is killed.

## Environment variables

           For  JOE  to operate correctly, a number of other environ
           ment settings must be correct.  The throughput (baud rate)
           of  the  connection between the computer and your terminal
           must be  set  correctly  for  JOE  to  update  the  screen
           smoothly  and  allow typeahead to defer the screen update.
           Use the stty nnn command to set this.  You want to set  it
           as  close  as possible to actual throughput of the connec
           tion.  For example, if you are connected via a  1200  baud
           modem,  you  want  to use this value for stty.  If you are
           connected via 14.4k modem, but the terminal server you are
           connected  to  connects  to  the computer a 9600 baud, you
           want to set your speed as 9600  baud.   The  special  baud
           rate  of 38400 or extb is used to indicate that you have a
           very-high speed connection, such as a memory  mapped  con
           sole  or  an X-window terminal emulator.  If you can't use
           stty to set the actual throughput (perhaps  because  of  a
           modem  communicating with the computer at a different rate
           than it's communicating over the phone line), you can  put
           a  numeric  value in the BAUD environment variable instead
           (use setenv BAUD 9600 for csh or  BAUD=9600;  export  BAUD
           for sh).

           The  TERM  environment variable must be set to the type of
           terminal  you're  using.    If   the   size   (number   of
           lines/columns)  of your terminal is different from what is
           reported in the TERMCAP or TERMINFO  entry,  you  can  set
           this  with the stty rows nn cols nn command, or by setting
           the LINES and COLUMNS environment variables.

           JOE normally expects that flow control  between  the  com
           puter and your terminal to use ^S/^Q handshaking (I.E., if
           the computer is sending characters too fast for your  ter
           minal, your terminal sends ^S to stop the output and ^Q to
           restart it).  If the  flow  control  uses  out-of-band  or
           hardware handshaking or if your terminal is fast enough to
           always keep up with the computer output and  you  wish  to
           map  ^S/^Q  to  edit commands, you can set the environment
           variable NOXON to have JOE attempt to turn off ^S/^Q hand
           shaking.   If the connection between the computer and your
           terminal uses no handshaking and your terminal is not fast
           enough to keep up with the output of the computer, you can
           set the environment variable DOPADDING to  have  JOE  slow
                  ^K  D  !mail jhallen@world.std.com to send the file
                  being edited to me.

           >>filename
                  Use this to have JOE append the edited text to  the
                  end of the file "filename."

           filename,START,SIZE
                  Use  this  to  access  a fixed section of a file or
                  device.  START and SIZE may be entered  in  decimal
                  (ex.:  123)  octal (ex.: 0777) or hexadecimal (ex.:
                  0xFF).  For example, use joe /dev/fd0,508,2 to edit
                  bytes  508  and  509  of  the first floppy drive in
                  Linux.

           -      Use this to get input from the standard input or to
                  write  output to the standard output.  For example,
                  you can put joe in a pipe of commands: quota  -v  |
                  joe  -  |  mail root, if you want to complain about
                  your low quota.

## The joerc file

           ^T options, the help screens and the key-sequence to  edi
           tor  command bindings are all defined in JOE's initializa
           tion file.  If you make a copy of this  file  (which  nor
           mally resides in /etc/joerc) to $HOME/.joerc, you can cus
           tomize these setting to your liking.  The  syntax  of  the
           initialization file should be fairly obvious and there are
           further instruction in it.

## Acknowledgements

           JOE was writen by  Joseph  H.  Allen.   If  you  have  bug
           reports      or      questions,     e-mail     them     to
           jhallen@world.std.com.             Larry             Foard
           (entropy@world.std.com)        and        Gary        Gray
           (ggray@world.std.com) also helped  with  the  creation  of
           JOE.

                                                               JOE(1)