ex(1) 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. If you have a CRT terminal, you may
wish to use a display based editor; in this case see vi(1).
ex processes supplementary code set characters according to
the locale specified in the LC_CTYPE environment variable [see
LANG on environ(5)]. In regular expressions, pattern searches
are performed on characters, not bytes, as described on ed(1).
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.
Copyright 1994 Novell, Inc. Page 1
ex(1) ex(1)
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
line, 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.
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
Copyright 1994 Novell, Inc. Page 2
ex(1) ex(1)
commands such as sort.
Invocation Options
The following invocation options are interpreted by ex
(previously documented options are discussed in the NOTICES
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. Note: tags in the tag
file must be in ascending order.
-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 NOTICES 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).
Copyright 1994 Novell, Inc. Page 3
ex(1) ex(1)
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 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
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,$
Copyright 1994 Novell, Inc. Page 4
ex(1) ex(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 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
window visual mode lines
wrapmargin wm automatic line splitting
wrapscan ws search around end (or beginning) of buffer
Copyright 1994 Novell, Inc. Page 5
ex(1) ex(1)
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/Ex nnnnn editor temporary
/tmp/Rx nnnnn named buffer temporary
/var/preserve/ login
preservation directory
/usr/lib/locale/locale/LC_MESSAGES/uxed.abi
language-specific message file [See LANG
on environ(5).]
REFERENCES
crypt(1), ctags(1), curses(3curses), ed(1), edit(1), grep(1),
sed(1), sort(1), term(4), terminfo(4), vi(1)
Copyright 1994 Novell, Inc. Page 6
ex(1) ex(1)
NOTICES
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
Encryption 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.
Copyright 1994 Novell, Inc. Page 7