EX(1) SysV EX(1)
NAME
ex - text editor
SYNOPSIS
ex [ - ] [ -v ] [ -t tag ] [ -r ] [ -R ] [ +command ] name ...
DESCRIPTION
ex is the root of a family of editors that includes ex and vi. ex is a
superset of ed, with the most notable extension being a display editing
capability. 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 that focuses on the display
editing portion of ex.
For ed Users
If you have used ed you will find that ex has a number of new features
useful on CRT terminals. Intelligent terminals and high-speed terminals
are very pleasant to use with vi. Generally, the editor uses far more of
the capabilities of terminals than ed does, and uses the terminal
capability data base and the type of the terminal you are using from the
variable TERM in the environment 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(1).
ex contains a number of new features for easily viewing the text of the
file. The z command gives easy access to windows of text. Pressing
CTRL/D causes the editor to scroll a half-window of text and is more
useful for quickly stepping through a file than just pressing return. Of
course, the screen-oriented visual mode gives constant access to editing
context.
ex gives you more help when you make mistakes. undo (u) allows you to
reverse any single change. ex gives you a lot of feedback, normally
printing changed lines, and indicating 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 prevents overwriting existing files unless you edited
them so that you do not accidentally clobber with a write 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 to retrieve your work. This gets 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.
For moving text between files and within a file the editor has a group of
buffers, named a through z. You can place text in these named buffers
and carry it over when you edit another file.
There is a command & in ex that 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 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."
INVOCATION OPTIONS
- Suppresses all interactive-user feedback. 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 Recovers file after an editor or system crash. If file is not
specified a list of all saved files is printed.
-R Readonly mode set, prevents accidentally overwriting the file.
+command Begins editing by executing the specified editor search or
positioning command.
The name argument indicates files to be edited.
COMMAND NAMES AND ABBREVIATIONS
abbrev ab next n undo u
append a number nu unmap unmap
args ar preserve pre version ve
change c print p visual vi
copy co put pu write w
delete d quit q xit x
edit e read re yank ya
file f recover rec window z
global g rewind rew escape !
insert i set se lshift <
join j shell sh print next CR
list l source so resubst &
map stop stop rshift >
mark ma substitute s scroll ^D
move m unabbrev una
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,$
STATES
Command Normal and initial state. Input prompted for by :.
Your kill character cancels partial command.
Insert Entered by a, i, or c. Arbitrary text may be
entered. Insert is normally terminated by a line having
only . on it, or abnormally with an interrupt.
Visual Entered by vi, terminates with Q or ^ \.
INITIALIZING OPTIONS
EXINIT Place set's here in environment var.
$HOME/.exrc Editor initialization file
./.exrc Editor initialization file
set x Enable option
set nox Disable option
set x=val Give value val
set Show changed options
set all Show all options
set x? Show value of option x
MOST USEFUL OPTIONS
abackup ab create backup files when locking is on
alock al enable Domain/OS file locking
autoindent ai Supply indent
autowrite aw Write before changing files
ignorecase ic In scanning
list Print ^I for tab, $ at end
magic . [ * special in patterns
number nu Number lines
paragraphs para Macro names which start ...
redraw Simulate smart terminal
scroll Command mode lines
sections sect Macro names ...
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
wrapscan ws Around end of buffer?
wrapmargin wm Automatic line splitting
SCANNING PATTERN FORMATION
^ Beginning of line
$ End of line
. Any character
\< Beginning of word
\> End of word
[str] Any char in str
[|str] ... not in str
[x-y] ... between x and y
* Any number of preceding
Vi ex
BUGS
The undo command causes all marks to be lost on lines changed and then
restored if the marked lines were changed.
undo never clears the buffer modified condition.
The z command prints a 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 `-'
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.
FILES
/usr/lib/ex?.?strings Error messages
/usr/lib/ex?.?recover Recover command
/usr/lib/ex?.?preserve Preserve command
/usr/lib/*/* 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)
SEE ALSO
awk(1), ed(1), edit(1), grep(1), sed(1), vi(1).
curses(3X), term(4), terminfo(4) in the SysV Programmer's Reference.