ex(1) CLIX ex(1)
NAME
ex - Runs a command-oriented text editor
SYNOPSIS
ex [-s] [-v] [-t tag] [-r file] [-L] [-R] [-x] [-C] [-c command] file ...
FLAGS
-s Suppresses all interactive-user feedback. This is useful in
processing editor scripts.
-v Invokes vi.
-t tag Edits the file containing the tag and positions the editor at
its definition.
-r file Edits file after an editor or system crash. (Recovers the
version of file that was in the buffer when the crash
occurred.)
-L Lists the names of all files saved as the result of an editor
or system crash.
-R Sets the readonly flag. The readonly mode prevents
accidental overwriting of the file.
-x Invokes encryption option. When used, ex simulates an X
command and prompts the user for a key. This key is used to
encrypt and decrypt text using the algorithm of crypt. The X
command makes an educated guess to determine whether text
read in is encrypted or not. The temporary buffer file is
encrypted also, using a transformed version of the key typed
in for the -x flag. See crypt. Also, see the CAUTIONS
section below.
-C Invokes the encryption option. This flag is the same as the
-x flag, except that ex simulates a C command. The C command
is like the X command, except that all text read in is
assumed to have been encrypted.
-c command Begins editing by executing the specified editor command
(usually a search or positioning command).
DESCRIPTION
The ex command is the root of a family of editors: ex and vi. ex is a
superset of ed, with the most notable extension being a display editing
facility. Display-based editing is the focus of vi.
2/94 - Intergraph Corporation 1
ex(1) CLIX ex(1)
If you have a CRT terminal, you may wish to use a display-based editor; in
this case, see vi, which is a command which focuses on the display-editing
portion of ex.
For ed Users
If you have used ed you will find that, in addition to having all of the
ed commands available, ex has a number of additional features useful on
CRT terminals. Intelligent terminals and high speed terminals are very
pleasant to use with vi. Generally, the ex editor uses far more of the
capabilities of terminals than ed does, and uses the terminal capability
database (see terminfo) and the type of the terminal you are using from
the environmental variable TERM to determine how to drive your terminal
efficiently. The editor makes use of features such as insert and delete
character and line in its visual command (which can be abbreviated vi) and
which is the central mode of editing when using vi. There is also an
interline editing open (o) command which works on all terminals.
The ex command contains a number of features for easily viewing the text
of the file. The z command gives easy access to windows of text. Typing
^D (the <Ctrl-D> sequence) causes the editor to scroll a half-window of
text and is more useful for quickly stepping through a file than just
typing return. Of course, the screen-oriented visual mode gives constant
access to editing context.
The ex command gives you help when you make mistakes. The undo (u)
command allows you to reverse any single change which goes astray. The ex
command gives you a lot of feedback, normally printing changed lines, and
indicates when more than a few lines are affected by a command so that it
is easy to detect when a command has affected more lines than it should
have.
The editor also normally prevents overwriting existing files, unless you
edited them, so that you do not accidentally overwrite a file other than
the one you are editing. If the system (or editor) crashes, or you
accidentally hang up the telephone, you can use the editor recover command
(or -r "file" flag) to retrieve your work. This will get you back to
within a few lines of where you left off.
The ex command has several features for dealing with more than one file at
a time. You can give it a list of files on the command line and use the
next (n) command to deal with each in turn. The next command can also be
given a list of filenames, or a pattern as used by the shell to specify a
new set of files to be dealt with. In general, filenames in the editor
may be formed with full shell metasyntax. The metacharacter `%' is also
available in forming filenames and is replaced by the name of the current
file. For editing large groups of related files you can use ex's tag
command to quickly locate functions and other important points in any of
the files. This is useful when working on a large program when you want
to quickly find the definition of a particular function. The command
ctags builds a tags file or a group of C programs.
2 Intergraph Corporation - 2/94
ex(1) CLIX ex(1)
The editor has a group of buffers whose names are the ASCII lowercase
letters (a - z). You can place text in these named buffers where it is
available to be inserted elsewhere in the file. The contents of these
buffers remain available when you begin editing a new file using the edit
(e) command.
There is a command & in ex which repeats the last substitute command. In
addition, there is a confirmed substitute command. You give a range of
substitutions to be done and the editor interactively asks whether each
substitution is desired.
It is possible to ignore the case of letters in searches and
substitutions. ex also allows regular expressions which match words to be
constructed. This is convenient, for example, in searching for the word
``edit'' if your document also contains the word ``editor.''
The ex command has a set of options which you can set to tailor it to your
liking. One option which is very useful is the autoindent option that
allows the editor to supply leading white space to align text
automatically. You can then use ^D as a backtab and space or tab to move
forward to align new code easily.
Miscellaneous useful features include an intelligent join (j) command that
supplies white space between joined lines automatically, commands ``<''
and ``>'' which shift groups of lines, and the ability to filter portions
of the buffer through commands such as sort.
The file argument indicates one or more files to be edited.
ex States
Command Normal and initial state. Input prompted for by :. Your
line kill character cancels a partial command.
Insert Entered by a, i, or c. Arbitrary text may be entered.
Insert state normally is terminated by a line having only
``.'' on it, or, abnormally, with an interrupt.
Open/visual Entered by open or vi, terminates with Q
Visual Entered by typing vi; terminated by typing Q or ^\ (the
<Ctrl-E> sequence).
ex Command Names and Abbreviations
abbrev ab map set se
append a mark ma shell sh
args ar move m source so
change c next n substitute s
2/94 - Intergraph Corporation 3
ex(1) CLIX ex(1)
copy co number nu unabbrev unab
delete d preserve pre undo u
edit e print p unmap unm
file f put pu version ve
global g quit q visual vi
insert i read r write w
join j recover rec xit x
list l rewind rew yank ya
ex Commands
shell escape !
forced encryption C
heuristic encryption X
lshift <
print next CR
resubst &
rshift >
scroll ^D
window z
ex Command Addresses
n line n /pat next with pat
. current ?pat previous with pat
$ last x-n n before x
+ next x,y x through y
- previous 'x marked with x
+n n forward '' previous context
% 1,$
Initializing options
EXINIT place set's here in environment variable
$HOME/.exrc editor initialization file
./.exrc editor initialization file
set x enable option x
set nox disable option x
set x=val give value val to option x
set show changed options
set all show all options
set x? show value of option x
Most useful options and their abbreviations
autoindent ai supply indent
autowrite aw write before changing files
directory pathname of directory for temporary work files
ignorecase ic ignore case of letters in scanning
4 Intergraph Corporation - 2/94
ex(1) CLIX ex(1)
list print ^I for tab, $ at end
magic treat . [ * special in patterns
modelines first five lines and last five lines executed as
vi/ex commands if they are of the form
ex:command: or vi:command:
number nu number lines
paragraphs para macro names that start paragraphs
redraw simulate smart terminal
report informs you if the number of lines modified
by the last command is greater than the
value of the report variable
scroll command mode lines
sections sect macro names that start sections
shiftwidth sw for < >, and input ^D
showmatch sm to ) and } as typed
showmode smd show insert mode in vi
slowopen slow stop updates during insert
term specifies to vi the type of terminal
being used (the default is the value
of the environmental variable TERM)
window visual mode lines
wrapmargin wm automatic line splitting
wrapscan ws search around end (or beginning) of buffer
Scanning pattern formation
^ beginning of line
$ end of line
. any character
\< beginning of word
\> end of word
[str] any character in str
[^str] any character not in str
[x-y] any character between x and y
* any number of preceding characters
AUTHOR
The v and ex commands are based on software developed by The University of
California, Berkeley California, Computer Science Division, Department of
Electrical Engineering and Computer Science.
EXAMPLES
1. To list all files saved during an editor crash:
ex -L
2. To recover file foo, which was saved during an editor crash:
2/94 - Intergraph Corporation 5
ex(1) CLIX ex(1)
ex -r roo
3. To edit the file foo in read only mode, with encryption:
ex -Rx foo
4. To look up the tag main in the tags files (see ctags) and edits it,
performing the search command when the file is open:
ex -t main -c '/int a'
5. To emulate the ``vi`` command:
ex -v
FILES
/usr/lib/exstrings error messages
/usr/lib/exrecover recover command
/usr/lib/expreserve preserve command
/usr/lib/terminfo/* describes capabilities of terminals
$HOME/.exrc editor startup file
./.exrc editor startup file
/tmp/Exnnnnn editor temporary
/tmp/Rxnnnnn named buffer temporary
/usr/preserve/login preservation directory (where login is the user's
login)
NOTES
Several flags, although they continue to be supported, have been replaced
in the documentation by flags that follow the Command Syntax Standard (see
intro). The - flag has been replaced by -s, a -r flag that is not
followed with a flag-argument has been replaced by -L, and + command has
been replaced by -c command.
The z command prints the number of logical rather than physical lines.
More than a screen full of output may result if long lines are present.
6 Intergraph Corporation - 2/94
ex(1) CLIX ex(1)
File input/output errors do not print a name if the command line -s flag
is used.
There is no easy way to do a single scan ignoring case.
The editor does not warn if text is placed in named buffers and not used
before exiting the editor.
Null characters are discarded in input files and cannot appear in
resultant files.
CAUTIONS
The encryption options and commands are provided with the Security
Administration Utilities package, which is available only in the United
States.
EXIT VALUES
The editor exits with a value of 0 if successful. If unsuccessful, the
editor returns one of the following values:
1 System error.
2 Other error.
-1 User not found.
RELATED INFORMATION
Commands: crypt(1), ed(1), edit(1), grep(1), sed(1), sort(1), vi(1)
Functions: curses(3)
Files: term(4), terminfo(4)
2/94 - Intergraph Corporation 7