home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga GigaPD 3
/
Amiga_GigaPD_v3_3of3.iso
/
netbsd
/
contrib
/
bsd
/
joe-1.0.7.readme
< prev
next >
Wrap
Text File
|
1993-06-25
|
6KB
|
152 lines
Joe's Own Editor 1.0.7
Get it by anonymous ftp
from: 'world.std.com', file '/src/editors/joe1.0.7.tar.Z'
If you have questions, problems or suggestions,
send email to: 'jhallen@world.std.com'
JOE is a sane ASCII text screen editor for UNIX. It is designed to
make use of the power and versitility of UNIX, but also to be easy to use.
It has the feel of most IBM PC editors. The key sequences are remeniscent
of WordStar and TURBO-PASCAL. It also has the features which UNIX user's
should expect: makes full use of termcap/terminfo, is designed to work well
over slow networks and low baud rate modems, is designed to reduce
installation headaches, and has the best features of vi.
JOE is most useful for editing unformatted text, such as USENET news
articles and for editing block-structured languages such as C and PASCAL.
JOE is ideal for new or casual users but is also powerful enough to please
experienced users.
Features:
Full termcap/terminfo support. Will work on any terminal except for
overstrike terminals. A new termcap library is supplied which can use an
index file to make termcap faster then terminfo. A number of terminfo
extensions are supported and the GNU extensions to the termcap language are
also supported. JOE is not picky about the completeness of the termcap
entries, it knows what the defaults are.
No-nonsense installation. JOE has both ^H and DEL mapped to
backspace and ^Q and ^S are not used. JOE compiles to 120-190K on most
systems.
Powerful optimal screen update. Uses scrolling regions the way they
are supposed to be used (I.E., without building insert and delete line with
them) and uses a powerful line shifting (insert/delete character) algorithm
which works even if text goes past the ends of lines. Has deferred screen
update to handle typeahead.
VI-style unix integration. You can filter a highlighted block
through a UNIX command. Also, each place in joe which accepts a file name
(including the command line) will also accept:
!command to pipe into or out of a command
>>filename to append to a file
filename,start,size to edit a portion of a file/device
- to use stdin or stdout
Also, filenames on the command line may be preceeded by +nnn to
start editing at a specified line.
Shell windows. You can run a shell in a window and any output from
commands run in the shell gets stored in a buffer.
Orthoganality. Each prompt is actually a normal edit buffer and a
copy of a history buffer. You can use all of the normal edit commands to
create file names and search strings. You can use the up arrow key (or
search backwards and any other appropriate edit command) to go back through
the history of previous responses.
Powerful buffering system. JOE uses a doubly linked list of gap
buffers which can spill into /tmp directory files. You can edit file of any
size up to the amount of free disk space and there are no line-length
restrictions. Since the buffering system is block-based, JOE will incur
only a minimum of swapping on heavily loaded systems.
TAB-completion and file selection menus. If you hit tab in a file
name prompt, the name is either completed or a menu of possible matches
appears.
Nice help system. When you ask for help, you get a menu of help
screens to shoose from (all definable in an initialization file). Once a
help screen is selected, the help remains on while you continue to use the
editor. Here is the first help screen:
CURSOR GO TO BLOCK DELETE MISC EXIT
^B left ^F right ^U prev. screen ^KB begin ^D char. ^KJ reformat ^KX save
^P up ^N down ^V next screen ^KK end ^Y line ^TT overtype ^C abort
^Z previous word ^A beg. of line ^KM move ^W >word ` Ctrl- ^KZ shell
^X next word ^E end of line ^KC copy ^O word< ^ Meta- FILE
SEARCH ^KU top of file ^KW file ^J >line ^R retype ^KE new
^KF find text ^KV end of file ^KY delete ^_ undo ^@ insert ^KR insert
^L find next ^KL to line No. ^K/ filter ^^ redo ^KD save
Powerful set of editing commands. Including:
- search and replace system, including powerful regular
expressions (including matching of balanced C expressions).
- tag search
- paragraph format
- undo and redo
- position history allows you to get back to previous
editing contexts and allows you to quickly flip between
editing contexts
- multiple keyboard macros
- multiple windows
- block move/copy/delete/filter
- rectangle mode
- overtype/insert modes
- indent/unindent
- goto matching ( [ {
- auto-indent mode
Plus many options can be set:
- row and column number can be shown on status line
- can have EMACS-style cursor recentering on scrolls
- characters between 160-254 can be shown as-is for
scandinavian characters
- Final newline can be forced on end of file
- Can start with a help screen on
- No. of PgUp/PgDn lines to keep can be specified
- Left/Right margin settings
- Tab width
- Indentation step and character
JOE will soon have:
Hex dump edit mode
Fixed record length edit mode
Shell windows and background/demand file-loading
/* jhallen@world.std.com */ /* Amazing */ /* Joseph H. Allen */
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)
+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
]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}