The EHP editor is an editor written on a HP UNIX workstation.
It is in the process of being ported to OS/2 2.0 and this is a beta version.
For the moment the documentation (except this document) is
German.
The package can be compiled using EMX GCC 0.8e. Unpack the file using
OS/2's UNPACK utility. Construct a suitable keyboard layout using the
extracted program km.exe or use the withcoming tasten.inf. Enter the path
where you stored tasten.inf in the definition of you EHPINIT environment
variable.

Install procedure:
Copy the .exe files and the tasten.inf file
to a directory of your choice (best one contained in your PATH)
and set the environment variable EHPINIT to something like
  set EHPINIT=autoind screen 80x50 keys xxx\tasten.inf
where xxx represents the path where you put the tasten.inf file.
Copy the .DLL-files to a directory contained in your LIBPATH statement,
e.g. to \OS2\DLL.

Meanwhile I managed to translate the editor and km messages 
(I hope, I got all) to English, further I predefined the tasten.inf file 
containing the keyboard commands, to be leaned on English.

The two bugs concerning the filtering of blocks and calling shell commands
from within a window have been fixed.

Here an overview of the current (English) keyboard commands:

CTRL-a                  Insert line before current line
CTRL-b                  Block commands:
	- b             mark beginning of block
	- c             copy block to cursor position
	- d             delete block
	- e             end of rectangular block (good for moving comments)
	- f             filter the block (e.g. pass the block through SORT)
	- i             indent block (left or right)
	- m             move block to cursor position
	- n             end of normal block (with line wrap)
	- p             copy contents of paste-buffer to cursor position
	- r             read block from file and insert at cursor position
	- t             cuT block (means: copy it to the paste-buffer)
	- u             unmark block
	- w             write block to file
CTRL-c                  abort repeat function or macro execution,
			insert control code in text or command
CTRL-e                  Edit commands: (perhaps not the right menu, open
			for suggestions)
	- l             load file in current window
	- r             rename file
	- s             save file contained in current window
CTRL-f                  Find / Replace
	- a             Again (repeat last find or replace)
	- f             find
	- r             replace
			Short description of find/replace options:
			number: Find <number>th element / replace <number>
				elements
			a:      (replace only) replace all occurrences
			b:      search from the beginning of the text
			e:      search from textend upwards ('r' implicit)
			g:      (replace only) global (don't ask for replace)
			i:      ignore upper-/lowercase
			r:      reverse (search backwards)
			u:      (replace only) underline replace expression
				if and only if the first character of the
				found search expression is underlined.
				(without 'u' underlining is done according to
				the current underline mode, see CTRL-u)
			w:      find/replace words only
CTRL-g                  Goto commands:
	- b             goto beginning of marked block
	- e             goto end of marked block
	- g             goto marker
	- l             last position (stored before CTRL-g, jump to beginning
			or end of file, searching, replacing)
	- n             goto line number
	- s             set marker
CTRL-j                  Join (append following line to the current one)
CTRL-k                  (from the German korrigieren (correct)) insert the
			line deleted last (with CTRL-y) before the current line
CTRL-l                  Refresh (VI-like)
CTRL-n                  Repeat find/replace (same as CTRL-f-a)
CTRL-o                  (VI-like open line) insert line after current line
CTRL-q                  Delete to end-of-line
CTRL-r                  repeat a command sequence n times
CTRL-s                  Set/unset flags
	- a             autoindent
	- b             blockhighlighting
	- c             tabcompression (blanks may be converted to tabs when
			saving the file, this is the default)
	- s             shell mode (when pressing RETURN, the part of the
			current line up to the cursor position is passed to
			the shell, the result of the executed command is
			inserted in the text and marked as a block)
	- t             define tablength (how far the TAB key ought to jump,
			not what number of spaces is converted to a tab in
			the text's file representation)
	- .             create .bak-files when overwriting an existing file
CTRL-t                  Delete word right to the cursor (Borland-like)
CTRL-u                  toggle underline mode (underlined characters are
			represented by _^H<x> where <x> is the underlined
			character).
CTRL-v                  Macro definition/execution
CTRL-w                  Window functions
	- c             close current window
	- d             switch direct to another window by supplying the
			name of the file contained in the window
	- i             switch to window by index (number of the window
			displayed in the lower left corner of each window)
	- m             move window on the screen
	- n             switch to next window
	- o             open new window
	- p             switch to previous window. This operation is symmetric,
			i.e. applied twice, you get to the window where you
			were before.
	- s             change size of current window
	- t             toggle window size (two sizes exist, both of which
			are initially set to full size) 
CTRL-x                  Exit commands
	- n             exit without saving and without executing the load file
			(the load file is a batch file, which can optionally
			be executed when quitting the editor, e.g. it may
			contain the call to MAKE)
	- s             exit with saving all modified files, but without
			executing the load file
	- N             exit without saving, but with loadfile execution.
			The default name for the load file is load.bat in
			the current directory, but it can be modified using
			the environment variable EHPINIT.
	- S             exit with saving all modified files and executing the
			load file.
CTRL-y                  delete the current line (can be undone using CTRL-k)
arr_left                move cursor left one character
arr_right               move cursor right one character
arr_up                  move cursor up one character
arr_down                move cursor down one character
CTRL-arr_left           move cursor left one word
CTRL-arr_right          move cursor right one word
CTRL-arr_up             move window content including cursor one line up
CTRL-arr_down           move window content including cursor one line down
ALT-arr_left            make current line appear in the middle of the window
ALT-arr_up              make current line first line of window
ALT-arr_down            make current line last line of window
HOME                    move cursor to beginning of current line
END                     move cursor to end of current line
CTRL-HOME               move cursor to the first line of the window
CTRL-END                move cursor to the last line of the window
PgUp                    one page up
PgDn                    one page down
CTRL-PgUp               go to beginning of file
CTRL-PgDn               go to end of file
ALT-PgUp                go half a page up
ALT-PgDn                go half a page down
DEL                     delete character on which the cursor stands
Backspace               delete character left to the cursor. If cursor is in
			first column, join current line with the upper line.
Ins                     Toggle insert/overwrite mode

The environment variable EHPINIT:
autoind                 turn autoindent mode on by default
nohelp                  turn off the helpline
noshowblock             turn off blockhighlighting
nobak                   turn off creation of .bak files
deftab <n>              set tabsize to n
screen CxL              switch to screen size CxL (C=columns, L=lines)
			NOTE: be sure, your video card supports that mode
keys <f>                keyboard file is stored in <f>
conffile <f>            config file storing information about the session,
			like open files, window sizes and macros, is stored
			in file <f>. If not supplied, a file called config.sys
			if opened in the current directory.
loadfile <f>            The loadfile (explained at CTRL-x) is named <f>
			If this option is omitted, the file is looked for
			under the name load.cmd in the current directory.


Enjoy,
Axel (auhl@fzi.de)
