Joe's Own Editor 1.0.8 ====================== 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 If you have questions, problems or suggestions, send email to: 'jhallen@world.std.com'