ex(1) (Editing Utilities) ex(1)
NAME
ex - text editor
SYNOPSIS
ex [-s] [-v] [-t tag] [-r file] [-L] [-R] [-x] [-C] [-c command] file
...
DESCRIPTION
ex 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.
If you have a CRT terminal, you may wish to use a display based
editor; in this case see vi(1), 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 data base [see terminfo(4)] 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 the vi command.
ex 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
(control-d) 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.
ex gives you help when you make mistakes. The undo (u) command
allows you to reverse any single change which goes astray. ex 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 option) to retrieve your work.
This will get you back to within a few lines of where you left off.
7/91 Page 1
ex(1) (Editing Utilities) ex(1)
ex 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 file names, or a pattern as used by the shell
to specify a new set of files to be dealt with. In general, file
names in the editor may be formed with full shell metasyntax. The
metacharacter `%' is also available in forming file names and is
replaced by the name of the current file.
The editor has a group of buffers whose names are the ASCII lower-
case 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.''
ex 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.
Invocation Options
The following invocation options are interpreted by ex (previously
documented options are discussed in the NOTES section at the end of
this manual page):
-s Suppress all interactive-user feedback. This is useful
in processing editor scripts.
-v Invoke vi.
-t tag Edit the file containing the tag and position the editor
at its definition.
Page 2 7/91
ex(1) (Editing Utilities) ex(1)
-r file Edit file after an editor or system crash. (Recovers the
version of file that was in the buffer when the crash
occurred.)
-L List the names of all files saved as the result of an
editor or system crash.
-R Readonly mode; the readonly flag is set, preventing
accidental overwriting of the file.
-x 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 the crypt
command. 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
option. See crypt(1). Also, see the NOTES section at
the end of this manual page.
-C Encryption option; the same as the -x option, 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 Begin editing by executing the specified editor command
(usually a search or positioning command).
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.
Visual Entered by typing vi; terminated by typing Q or ^\
(control-\).
ex Command Names and Abbreviations
abbrev ab map map set se
append a mark ma shell sh
args ar move m source so
change c next n substitute s
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
7/91 Page 3
ex(1) (Editing Utilities) ex(1)
insert i read r write w
join j recover rec xit x
list l rewind rew yank ya
ex Commands
forced encryption C heuristic encryption X
resubst & print next CR
rshift > lshift <
scroll ^D window z
shell escape !
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
exrc ex allow vi/ex to read the .exrc in the current
directory. This option is set in the EXINIT
shell variable or in the .exrc file in the
$HOME directory.
ignorecase ic ignore case of letters in scanning
list list print ^I for tab, $ at end
magic magic treat . [ * special in patterns
modelines 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 redraw simulate smart terminal
Page 4 7/91
ex(1) (Editing Utilities) ex(1)
report informs you if the number of lines modified by
the last command is greater than the value of
the report variable
scroll 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 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
vi and ex are based on software developed by The University of
California, Berkeley California, Computer Science Division,
Department of Electrical Engineering and Computer Science.
FILES
/usr/lib/exstrings error messages
/usr/lib/exrecover recover command
/usr/lib/expreserve preserve command
/usr/share/lib/terminfo/* describes capabilities of terminals
$HOME/.exrc editor startup file
./.exrc editor startup file
/tmp/Exnnnnn editor temporary
/tmp/Rxnnnnn named buffer temporary
/var/preserve/login preservation directory
(where login is the user's login)
EXAMPLE
ex text
would invoke the editor with the file named text.
7/91 Page 5
ex(1) (Editing Utilities) ex(1)
NOTES
Several options, although they continue to be supported, have been
replaced in the documentation by options that follow the Command
Syntax Standard [see intro(1)]. The - option has been replaced by
-s, a -r option that is not followed with an option-argument has been
replaced by -L, and +command has been replaced by -c command.
The encryption options and commands are provided with the Security
Administration Utilities package, which is available only in the
United States.
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.
File input/output errors do not print a name if the command line -s
option 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.
SEE ALSO
crypt(1), ed(1), edit(1), grep(1), sed(1), sort(1), vi(1).
curses(3X), term(4), terminfo(4) in the Programmer's Reference
Manual.
User's Guide.
Page 6 7/91