home *** CD-ROM | disk | FTP | other *** search
- 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]]);}
-