another update from CVS HEAD, for QA
[alioth/jupp.git] / INFO
1 $MirOS: contrib/code/jupp/INFO,v 1.11 2014/06/29 11:39:50 tg Exp $
2 ------------------------------------------------------------------
3
4                                     Jupp
5                             Joe's Own Editor 3.1
6
7                   A Free ASCII-Text Screen Editor for UNIX
8                           by Joseph Allen (<= 2.8)
9                          Marek 'Marx' Grac (=> 2.9)
10                         by Joseph Allen again (=> 3.0)
11                  by Thorsten "mirabilos" Glaser (jupp mods)
12
13 Get it from:
14         http://mirbsd.de/jupp
15         http://sourceforge.net/projects/joe-editor
16
17 If you have questions, problems or suggestions,
18         Use sourceforge: mailing list, bug tracker, discussion groups.
19
20         JOE is the professional freeware ASCII text screen editor for UNIX.
21 It makes full use of the power and versatility of UNIX, but lacks the steep
22 learning curve and basic nonsense you have to deal with in every other UNIX
23 editor. JOE has the feel of most IBM PC text editors: The key-sequences are
24 reminiscent of WordStar and Turbo-C.  JOE is much more powerful than those
25 editors, however.  JOE has all of the features a UNIX user should expect:
26 full use of termcap/terminfo, excellent screen update optimizations (JOE is
27 fully usable at 2400 baud), simple installation, and all of the
28 UNIX-integration features of VI.
29
30         JOE's initialization file determines much of JOE's personality and
31 the name of the initialization file is simply the name of the editor
32 executable followed by "rc".  JOE comes with five "rc" files in addition to
33 the basic "joerc", which allow it to emulate these editors:
34
35         JPICO   - An enhanced version of the Pine mailer system's PICO
36                   editor.
37
38         JSTAR   - A complete imitation of WordStar including many "JOE"
39                   extensions.
40
41         RJOE    - A restricted version of JOE which allowed you to edit
42                   only the files specified on the command line.
43
44         JMACS   - A GNU-EMACS imitation which is about one order of
45                   magnitude smaller than real GNU-EMACS.
46
47         JUPP    - A modern editor for programmers with WordStar-like bindings
48
49 Features:
50
51         JOE has a well thought-out user-interface with great attention to
52 detail.  The Page Up and Page Down functions do not move the cursor relative
53 to the edges of the screen.  Left and Right arrow keys work at the beginning
54 and ends of lines.  The cursor can move past the ends of lines without
55 jumping, but also without inserting or deleting extra spaces at the ends of
56 lines. Control characters and characters above 127 can be displayed and
57 entered- even ^Q and ^S.  The cursor's row and column number can be
58 displayed in the status line.
59
60         The key layout is made to reduce terminal incompatibility nonsense.
61 ^Q and ^S are not used and both ^H and DEL are mapped to backspace.  Case
62 does not matter in key sequences- ^K E, ^K e, and ^K ^E are each mapped to
63 the same function.  The arrow keys and PageUp, PageDown, Home, End, Insert
64 and Delete keypad keys are read from the termcap entry and are assigned to
65 the proper functions.  A simple initialization file, similar to Semware's
66 Q-EDIT, allows key-bindings, simple macros and help windows to be defined.
67
68         JOE has full termcap/terminfo support and will work on any terminal.
69 JOE has the best screen update optimization algorithm available.  It uses
70 VT100-style scrolling regions the way they are supposed to be used (I.E.,
71 without building insert and delete line functions out of them) and has a
72 powerful line shifting (insert/delete character) algorithm which works even
73 if text goes past the ends of lines.  JOE has deferred screen update to
74 handle typeahead and uses the baud rate reported by 'stty' to ensure that
75 deferral is not bypassed by tty buffering.
76
77         JOE has multiple windows and lacks the confusing notion of a named
78 buffers.  You just have files and windows.  When there are more windows than
79 can fit on the screen, the Goto-Next-Window function scrolls through them.
80 The same file can have multiple windows opened on it.
81
82         JOE has VI-style unix integration.  You can filter a highlighted
83 block through a UNIX command.  Also, each place in joe which accepts a file
84 name (including the command line) will also accept:
85
86                 !command                to pipe into or out of a command
87                 >>filename              to append to a file
88                 filename,start,size     to edit a portion of a file/device
89                 -                       to use stdin or stdout
90
91         File names on the command line may be preceded by +nnn to start
92 editing at a specified line.
93
94         JOE has shell windows.  You can run a shell in a window and any
95 output from commands run in the shell gets stored in a buffer.
96
97         JOE has an orthogonal event-driven design.  Each prompt is actually
98 a normal edit buffer containing a history of all of the responses entered
99 for that prompt.  You can use all of the normal edit commands to create file
100 names and search strings.  You can use the up arrow key (or search backwards
101 and any other appropriate edit command) to go back through the history of
102 previous responses.  Prompts are reentrant- meaning that edit commands which
103 require prompts can still be used inside of prompts.
104
105         JOE has TAB-completion and file selection menus.  If you hit tab in
106 a file name prompt, the name is either completed or a menu of possible
107 matches appears.
108
109         JOE stores edit files in a doubly linked list of gap buffers which
110 can spill into a temporary file.  You can edit files of any size up to the
111 amount of free disk space and there are no line-length restrictions.  Since
112 the buffering system is block-based, JOE will incur only a minimum of
113 swapping on heavily loaded systems.
114
115         When you ask for help, one of six small help reference cards appears
116 on the screen and remains while you continue to use the editor.  Here is the
117 first help card:
118
119 CURSOR           GO TO            BLOCK      DELETE   MISC         EXIT
120 ^B left ^F right ^U  prev. screen ^KB begin  ^D char. ^KJ reformat ^KX save
121 ^P up   ^N down  ^V  next screen  ^KK end    ^Y line  ^T  options  ^C  abort
122 ^Z previous word ^A  beg. of line ^KM move   ^W >word ^@  insert   ^KZ shell
123 ^X next word     ^E  end of line  ^KC copy   ^O word< ^R  retype   FILE
124 SEARCH           ^KU top of file  ^KW file   ^J >line SPELL        ^KE new
125 ^KF find text    ^KV end of file  ^KY delete ^_ undo  ^[N word     ^KR insert
126 ^L  find next    ^KL to line No.  ^K/ filter ^^ redo  ^[L file     ^KD save
127
128         JOE has a powerful set of editing commands suitable for editing both
129 text files and programs:
130
131                 - UTF-8 support
132
133                 - Syntax highlighting
134
135                 - search and replace system, including powerful regular
136                   expressions (including matching of balanced C expressions).
137
138                 - tags file search
139
140                 - paragraph format
141
142                 - undo and redo
143
144                 - position history allows you to get back to previous
145                   editing contexts and allows you to quickly flip between
146                   editing contexts
147
148                 - multiple keyboard macros
149
150                 - block move/copy/delete/filter
151
152                 - rectangle (columnar) mode
153
154                 - overtype/insert modes
155
156                 - indent/unindent
157
158                 - goto matching ( [ {
159
160                 - auto-indent mode
161
162         Plus many options can be set:
163
164                 - can have EMACS-style cursor re-centering on scrolls
165
166                 - characters between 128-255 can be shown as-is for
167                   non-English character sets
168
169                 - Final newline can be forced on end of file
170
171                 - Can start with a help screen on
172
173                 - Left/Right margin settings
174
175                 - Tab width
176
177                 - Indentation step and fill character
178
179 /*  jhallen@world.std.com */                              /* Joseph H. Allen */
180 int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
181 +r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
182 ]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}