569 lines
15 KiB
Groff
569 lines
15 KiB
Groff
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd August 30, 1995
|
|
.Dt EE 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm ee
|
|
.Nd easy editor
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl eih
|
|
.Op +#
|
|
.Op Ar
|
|
.Nm ree
|
|
.Op Fl eih
|
|
.Op +#
|
|
.Op Ar
|
|
.Sh DESCRIPTION
|
|
The command
|
|
.Nm
|
|
is a simple screen oriented text editor. It is always in text insertion
|
|
mode unless there is a prompt at the bottom of the terminal, or a
|
|
menu present (in a box in the middle of the terminal). The command
|
|
.Nm ree
|
|
is the same as
|
|
.Nm ,
|
|
but restricted to editing the named
|
|
file (no file operations, or shell escapes are allowed).
|
|
.Pp
|
|
For
|
|
.Nm
|
|
to work properly, the environment variable
|
|
.Ev TERM
|
|
must be set to indicate the type of terminal being used. For
|
|
example, for an
|
|
.Tn HP 700/92
|
|
terminal, the
|
|
.Ev TERM
|
|
variable should be set to "70092". See your System Administrator if
|
|
you need more information.
|
|
.Pp
|
|
The following options are available:
|
|
.Bl -tag -width indent
|
|
.It Fl e
|
|
Turn off expansion of tab character to spaces.
|
|
.It Fl i
|
|
Turn off display of information window at top of terminal.
|
|
.It Fl h
|
|
Turn off highlighting of borders of windows and menus (improves
|
|
performance on some terminals).
|
|
.It Sy +#
|
|
Move the cursor to line '#' at startup.
|
|
.El
|
|
.Ss "Control keys"
|
|
To do anything other than insert text, the user must use the control
|
|
keys (the
|
|
.Li Control
|
|
key, represented by a "^", pressed in conjunction with an
|
|
alphabetic key, e.g., ^a) and function keys available on the keyboard
|
|
(such as
|
|
.Em "Next Page" ,
|
|
.Em "Prev Page" ,
|
|
arrow keys, etc.).
|
|
.Pp
|
|
Since not all terminals have function keys,
|
|
.Nm
|
|
has the basic cursor movement functions assigned to control keys as
|
|
well as more intuitive keys on the keyboard when available. For
|
|
instance, to move the cursor up, the user can use the up arrow key,
|
|
or
|
|
.Em ^u .
|
|
.Bl -tag -width indent
|
|
.It ^a
|
|
Prompt for the decimal value of a character to insert.
|
|
.It ^b
|
|
Move to the bottom of the text.
|
|
.It ^c
|
|
Get the prompt for a command.
|
|
.It ^d
|
|
Move the cursor down.
|
|
.It ^e
|
|
Prompt for the string to search for.
|
|
.It ^f
|
|
Undelete the last deleted character.
|
|
.It ^g
|
|
Move to the beginning of the line.
|
|
.It ^h
|
|
Backspace.
|
|
.It ^i
|
|
Tab.
|
|
.It ^j
|
|
Insert a newline.
|
|
.It ^k
|
|
Delete the character the cursor is sitting on.
|
|
.It ^l
|
|
Move the cursor left.
|
|
.It ^m
|
|
Insert a newline.
|
|
.It ^n
|
|
Move to the next page.
|
|
.It ^o
|
|
Move to the end of the line.
|
|
.It ^p
|
|
Move to the previous page.
|
|
.It ^r
|
|
Move the cursor to the right.
|
|
.It ^t
|
|
Move to the top of the text.
|
|
.It ^u
|
|
Move the cursor up.
|
|
.It ^v
|
|
Undelete the last deleted word.
|
|
.It ^w
|
|
Delete the word beginning at the cursor position.
|
|
.It ^x
|
|
Search.
|
|
.It ^y
|
|
Delete from the cursor position to the end of line.
|
|
.It ^z
|
|
Undelete the last deleted line.
|
|
.It ^[ (ESC)
|
|
Pop up menu.
|
|
.El
|
|
.Ss "EMACS keys mode"
|
|
Since many shells provide an Emacs mode (for cursor movement and other editing
|
|
operations), some bindings that may be more useful for people familiar with
|
|
those bindings have been provided. These are accessible via the
|
|
.Em settings
|
|
menu, or via the initialization file (see below). The mappings are as follows:
|
|
.Bl -tag -width indent
|
|
.It ^a
|
|
Move to the beginning of the line.
|
|
.It ^b
|
|
Back 1 character.
|
|
.It ^c
|
|
Command prompt.
|
|
.It ^d
|
|
Delete character the cursor is sitting on.
|
|
.It ^e
|
|
End of line.
|
|
.It ^f
|
|
Forward 1 character.
|
|
.It ^g
|
|
Go back 1 page.
|
|
.It ^h
|
|
Backspace.
|
|
.It ^i
|
|
Tab.
|
|
.It ^j
|
|
Undelete last deleted character.
|
|
.It ^k
|
|
Delete line.
|
|
.It ^l
|
|
Undelete last deleted line.
|
|
.It ^m
|
|
Insert a newline.
|
|
.It ^n
|
|
Move to the next line.
|
|
.It ^o
|
|
Prompt for the decimal value of a character to insert.
|
|
.It ^p
|
|
Previous line.
|
|
.It ^r
|
|
Restore last deleted word.
|
|
.It ^t
|
|
Move to the top of the text.
|
|
.It ^u
|
|
Move to the bottom of the text.
|
|
.It ^v
|
|
Move to the next page.
|
|
.It ^w
|
|
Delete the word beginning at the cursor position.
|
|
.It ^y
|
|
Prompt for the string to search for.
|
|
.It ^z
|
|
Next word.
|
|
.It ^[ (ESC)
|
|
Pop up menu.
|
|
.El
|
|
.Ss "Function Keys"
|
|
.Bl -tag -width indent
|
|
.It Next Page
|
|
Move to the next page.
|
|
.It Prev Page
|
|
Move to the previous page.
|
|
.It Delete Char
|
|
Delete the character the cursor is on.
|
|
.It Delete Line
|
|
Delete from the cursor to the end of line.
|
|
.It Insert line
|
|
Insert a newline at the cursor position.
|
|
.It Arrow keys
|
|
Move the cursor in the direction indicated.
|
|
.El
|
|
.Ss Commands
|
|
Some operations require more information than a single keystroke can
|
|
provide. For the most basic operations, there is a menu that can be
|
|
obtained by pressing the
|
|
.Tn ESC
|
|
key. The same operations, and more can be performed by obtaining the
|
|
command prompt (^c) and typing in one of the commands below.
|
|
.Bl -tag -width indent
|
|
.It ! Ns Ar cmd
|
|
Execute
|
|
.Ar cmd
|
|
in a shell.
|
|
.It 0-9
|
|
Move to the line indicated.
|
|
.It case
|
|
Make searches case sensitive.
|
|
.It character
|
|
Display the ASCII value of the character at the cursor.
|
|
.It exit
|
|
Save the edited text, and leave the editor.
|
|
.It expand
|
|
Expand tabs to spaces.
|
|
.It file
|
|
Print the name of the file.
|
|
.It help
|
|
Display help screen.
|
|
.It line
|
|
Display the current line number.
|
|
.It nocase
|
|
Make searches insensitive to case (the default).
|
|
.It noexpand
|
|
Don't expand tab to spaces when the TAB key is pressed.
|
|
.It quit
|
|
Leave the editor without saving changes.
|
|
.It read Ar file
|
|
Read the named
|
|
.Ar file .
|
|
.It write Ar file
|
|
Write the text to the named
|
|
.Ar file .
|
|
.El
|
|
.Ss "Menu Operations"
|
|
Pop-up menus can be obtained by pressing the
|
|
.Em escape
|
|
key (or
|
|
.Em ^[
|
|
if no
|
|
.Em escape
|
|
key is present). When in the menu, the escape key can be
|
|
used to leave the menu without performing any operations. Use the up and
|
|
down arrow keys, or
|
|
.Em ^u
|
|
for moving up and
|
|
.Em ^d
|
|
for moving down to move to the desired items in the menu, then press
|
|
.Em return
|
|
to perform the indicated task.
|
|
.Pp
|
|
To the left of each menu item is a letter, which if the corresponding
|
|
letter is pressed on the keyboard selects that menu entry.
|
|
.Pp
|
|
The main menu in
|
|
.Nm
|
|
is as follows:
|
|
.Bl -tag -width indent
|
|
.It leave editor
|
|
If changes have been made, the user will get a menu prompting whether or
|
|
not the changes should be saved.
|
|
.It help
|
|
Display a help screen, with all of the keyboard operations and commands.
|
|
.It file operations
|
|
Pop up a menu for selecting whether to read a file, write to a file, or
|
|
save the current contents of the editor, as well as send the contents of
|
|
the editor to a print command (see the section
|
|
.Sx "Initializing ee from a file" ) .
|
|
.It redraw screen
|
|
Provide a means to repaint the screen if the screen has been corrupted.
|
|
.It settings
|
|
Show the current values of the operating modes, and right margin. By
|
|
pressing return when the cursor is on a particular item, the value can be
|
|
changed. To leave this menu, press the
|
|
.Em escape
|
|
key. (See
|
|
.Sx Modes
|
|
below.)
|
|
.It search
|
|
Pop up a menu in which the user may choose to enter a string to search
|
|
for, or search for a string already entered.
|
|
.It miscellaneous
|
|
Pop up a menu that allows the user to format the current paragraph,
|
|
execute a shell command, or check the spelling of the text in the editor.
|
|
.El
|
|
.Ss "Paragraph Formatting"
|
|
Paragraphs are defined for
|
|
.Nm
|
|
by a block of text bounded by:
|
|
.Bl -bullet -width indent
|
|
.It
|
|
Begin or end of file.
|
|
.It
|
|
Line with no characters, or only spaces and/or tabs.
|
|
.It
|
|
Line starting with a period ('.') or right angle bracket ('>').
|
|
.El
|
|
.Pp
|
|
A paragraph may be formatted two ways: explicitly by choosing the
|
|
.Em format paragraph
|
|
menu item, or by setting
|
|
.Nm
|
|
to automatically
|
|
format paragraphs. The automatic mode may be set via a menu, or via the
|
|
initialization file.
|
|
.Pp
|
|
There are three states for text operation in
|
|
.Nm :
|
|
free-form, margins,
|
|
and automatic formatting.
|
|
.Pp
|
|
"Free-form" is best used for things like programming. There are no
|
|
restrictions on the length of lines, and no formatting takes place.
|
|
.Pp
|
|
"Margins" allows the user to type in text without having to worry about going
|
|
beyond the right margin (the right margin may be set in the
|
|
.Em settings
|
|
menu, the default is for the margin to be the right edge of the
|
|
terminal). This is the mode that allows the
|
|
.Em format paragraph
|
|
menu item to work.
|
|
.Pp
|
|
"Automatic formatting" provides word-processor-like behavior. The user
|
|
may type in text, while
|
|
.Nm
|
|
will make sure the entire paragraph fits
|
|
within the width of the terminal every time the user inserts a space after
|
|
typing or deleting text. Margin observation must also be enabled in order for
|
|
automatic formatting to occur.
|
|
.Ss Modes
|
|
Although
|
|
.Nm
|
|
is a 'modeless' editor (it is in text insertion mode all the
|
|
time), there are modes in some of the things it does. These include:
|
|
.Bl -tag -width indent
|
|
.It tab expansion
|
|
Tabs may be inserted as a single tab character, or replaced with spaces.
|
|
.It case sensitivity
|
|
The search operation can be sensitive to whether characters are upper- or
|
|
lower-case, or ignore case completely.
|
|
.It margins observed
|
|
Lines can either be truncated at the right margin, or extend on forever.
|
|
.It auto paragraph formatting
|
|
While typing in text, the editor can try to keep it looking reasonably well
|
|
within the width of the screen.
|
|
.It eightbit characters
|
|
Toggle whether eight bit characters are displayed as their value in angle
|
|
brackets (e.g. "<220>") or as a character.
|
|
.It info window
|
|
A window showing the keyboard operations that can be performed can be
|
|
displayed or not.
|
|
.It emacs keys
|
|
Control keys may be given bindings similar to emacs, or not.
|
|
.El
|
|
.Pp
|
|
You may set these modes via the initialization file (see below), or with a
|
|
menu (see above).
|
|
.Ss "Spell Checking"
|
|
There are two ways to have the spelling in the text checked from
|
|
.Nm .
|
|
One is by the traditional
|
|
.Xr spell 1
|
|
command, the other is with the
|
|
optional
|
|
.Xr ispell 1
|
|
command.
|
|
.Pp
|
|
Using
|
|
.Nm spell ,
|
|
the words that are not recognized will be placed at the top
|
|
of the file. For the
|
|
.Nm ispell
|
|
option, the file is written to disk,
|
|
then
|
|
.Nm ispell
|
|
run on the file, and the file read back in once
|
|
.Nm ispell
|
|
has completed making changes to the file.
|
|
.Ss "Printing the contents of the editor"
|
|
The user may select a menu item which prints the contents of the editor.
|
|
.Nm
|
|
pipes the text in the editor to the command specified by the
|
|
initialization command
|
|
.Em printcommand
|
|
(see the section
|
|
.Sx Initializing ee from a file
|
|
below). The default is to send the contents to
|
|
.Xr lp 1 .
|
|
.Pp
|
|
Whatever the user assigns to
|
|
.Em printcommand
|
|
must take input from
|
|
standard input. See your system administrator for more details.
|
|
.Ss "Shell operations"
|
|
Shell commands can be executed from within
|
|
.Nm
|
|
by selecting the
|
|
.Em shell command
|
|
item in the
|
|
.Em miscellaneous
|
|
menu, or by placing an exclamation mark ("!") before the command to
|
|
execute at the
|
|
.Em command:
|
|
prompt. Additionally, the user may direct the contents of the edit buffer
|
|
out to a shell operation (via a pipe) by using the left angle bracket
|
|
(">"), followed by a "!" and the shell command to execute. The output of
|
|
a shell operation can also be directed into the edit buffer by using a
|
|
right angle bracket ("<") before the exclamation mark. These can even be
|
|
used together to send output to a shell operation and read back the
|
|
results into the editor. So, if the editor contained a list of words
|
|
to be sorted, they could be sorted by typing the following at the command
|
|
prompt:
|
|
.Dl ><!sort
|
|
This would send the contents of the editor to be piped into the
|
|
.Xr sort 1
|
|
utility and the result would be placed into the edit buffer at the current
|
|
cursor location. The old information would have to be deleted by the user.
|
|
.Ss "Initializing ee from a file"
|
|
Since different users have different preferences,
|
|
.Nm
|
|
allows some
|
|
slight configurability. There are three possible locations for an
|
|
initialization file for
|
|
.Nm :
|
|
the file
|
|
.Pa /usr/share/misc/init.ee ,
|
|
the file
|
|
.Pa .init.ee
|
|
in the user's home directory, or the file
|
|
.Pa .init.ee
|
|
in the current directory (if different from the home
|
|
directory). This allows system administrators to set some preferences for
|
|
the users on a system-wide basis (for example, the
|
|
.Em print
|
|
command),
|
|
and the user to customize settings for particular directories (like one
|
|
for correspondence, and a different directory for programming).
|
|
.Pp
|
|
The file
|
|
.Pa /usr/share/misc/init.ee
|
|
is read first, then
|
|
.Pa $HOME/.init.ee ,
|
|
then
|
|
.Pa .init.ee ,
|
|
with the settings specified by the
|
|
most recent file read taking precedence.
|
|
.Pp
|
|
The following items may be entered in the initialization file:
|
|
.Bl -tag -width indent
|
|
.It case
|
|
Set searches to be case sensitive.
|
|
.It nocase
|
|
Set searches to be insensitive to case (default).
|
|
.It expand
|
|
Cause
|
|
.Nm
|
|
to expand tabs to spaces (default).
|
|
.It noexpand
|
|
Cause
|
|
.Nm
|
|
to insert tabs as a single character.
|
|
.It info
|
|
A small information window is displayed at the top of the terminal
|
|
(default).
|
|
.It noinfo
|
|
Turn off the display of the information window.
|
|
.It margins
|
|
Cause
|
|
.Nm
|
|
to truncate lines at the right margin when the
|
|
cursor passes beyond the right margin as set by the user
|
|
while text is being inserted
|
|
(default).
|
|
.It nomargins
|
|
Allow lines to extend beyond the right margin.
|
|
.It autoformat
|
|
Cause
|
|
.Nm
|
|
to automatically try to format the current paragraph while
|
|
text insertion is occurring.
|
|
.It noautoformat
|
|
Turn off automatic paragraph formatting (default).
|
|
.It printcommand
|
|
Allow the setting of the print command (default: "lp").
|
|
.It rightmargin
|
|
The user can select a value for the right margin (the first column on the
|
|
screen is zero).
|
|
.It highlight
|
|
Turn on highlighting of border of information window and menus (default).
|
|
.It nohighlight
|
|
Turn off highlighting of border of information window and menus.
|
|
.It eightbit
|
|
Turn on display of eight bit characters.
|
|
.It noeightbit
|
|
Turn off display of eight bit characters (they are displayed as their decimal
|
|
value inside angle brackets, e.g., "<220>").
|
|
.It emacs
|
|
Turn on emacs key bindings.
|
|
.It noemacs
|
|
Turn off emacs key bindings.
|
|
.El
|
|
.Ss "Save Editor Configuration"
|
|
When using this entry from the
|
|
.Em settings
|
|
menu, the user may choose to save the current configuration of
|
|
the editor (see
|
|
.Sx Initializing ee from a file
|
|
above) to a file named
|
|
.Pa .init.ee
|
|
in the current directory or the user's home directory. If a file named
|
|
.Pa .init.ee
|
|
already exists, it will be renamed
|
|
.Pa .init.ee.old .
|
|
.Sh CAVEATS
|
|
THIS MATERIAL IS PROVIDED "AS IS". THERE ARE
|
|
NO WARRANTIES OF ANY KIND WITH REGARD TO THIS
|
|
MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE
|
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
FITNESS FOR A PARTICULAR PURPOSE. Neither
|
|
Hewlett-Packard nor Hugh Mahon shall be liable
|
|
for errors contained herein, nor for
|
|
incidental or consequential damages in
|
|
connection with the furnishing, performance or
|
|
use of this material. Neither Hewlett-Packard
|
|
nor Hugh Mahon assumes any responsibility for
|
|
the use or reliability of this software or
|
|
documentation. This software and
|
|
documentation is totally UNSUPPORTED. There
|
|
is no support contract available. Hewlett-Packard
|
|
has done NO Quality Assurance on ANY
|
|
of the program or documentation. You may find
|
|
the quality of the materials inferior to
|
|
supported materials.
|
|
.Pp
|
|
Always make a copy of files that cannot be easily reproduced before
|
|
editing. Save files early, and save often.
|
|
.Ss "International Code Set Support"
|
|
.Nm Ee
|
|
supports single-byte character code sets (eight-bit clean).
|
|
.Sh WARNINGS
|
|
The automatic paragraph formatting operation
|
|
may be too slow for slower systems.
|
|
.Sh FILES
|
|
.Bl -tag -width /usr/share/misc/init.ee -compact
|
|
.It Pa /usr/share/misc/init.ee
|
|
.It Pa $HOME/.init.ee
|
|
.It Pa .init.ee
|
|
.El
|
|
.Sh AUTHORS
|
|
The software
|
|
.Nm
|
|
was developed by
|
|
.An Hugh Mahon .
|
|
.Pp
|
|
This software and documentation contains
|
|
proprietary information which is protected by
|
|
copyright. All rights are reserved.
|
|
.Pp
|
|
Copyright (c) 1990, 1991, 1992, 1993, 1995 Hugh Mahon.
|
|
.Sh "SEE ALSO"
|
|
.Xr ispell 1 ,
|
|
.Xr lp 1 ,
|
|
.Xr spell 1 ,
|
|
.Xr termcap 5 ,
|
|
.Xr terminfo 5 ,
|
|
.Xr environ 7
|