- Fix for possible unset uid/gid in toproto - Fix for default mtree style - Update libelf - Importing libexecinfo - Resynchronize GCC, mpc, gmp, mpfr - build.sh: Replace params with show-params. This has been done as the make target has been renamed in the same way, while a new target named params has been added. This new target generates a file containing all the parameters, instead of printing it on the console. - Update test48 with new etc/services (Fix by Ben Gras <ben@minix3.org) get getservbyport() out of the inner loop Change-Id: Ie6ad5226fa2621ff9f0dee8782ea48f9443d2091
1986 lines
45 KiB
Text
1986 lines
45 KiB
Text
@comment Copyright (c) 1994
|
|
@comment The Regents of the University of California. All rights reserved.
|
|
@comment Copyright (c) 1994, 1995, 1996
|
|
@comment Keith Bostic. All rights reserved.
|
|
@comment
|
|
@comment See the LICENSE file for redistribution information.
|
|
@comment
|
|
@comment Id: ex.cmd.texi,v 8.2 2001/08/20 16:05:50 skimo Exp (Berkeley) Date: 2001/08/20 16:05:50
|
|
@comment
|
|
@chapter Ex Description
|
|
|
|
The following words have special meanings for
|
|
@CO{ex}
|
|
commands.
|
|
@itemize @bullet
|
|
@cindex "<end-of-file>"
|
|
@IP{<end-of-file>}
|
|
|
|
The end-of-file character is used to scroll the screen in the
|
|
@CO{ex}
|
|
editor.
|
|
This character is normally
|
|
@LI{<control-D>}.
|
|
However, whatever character is set for the current terminal is supported
|
|
as well as
|
|
@LI{<control-D>}.
|
|
@cindex "line"
|
|
@IP{line}
|
|
|
|
A single-line address, given in any of the forms described in the
|
|
section entitled
|
|
@QB{Ex Addressing} .
|
|
The default for
|
|
@LI{line}is the current line.
|
|
@cindex "range"
|
|
@IP{range}
|
|
|
|
A line, or a pair of line addresses, separated by a comma or semicolon.
|
|
(See the section entitled
|
|
@QB{Ex Addressing}
|
|
for more information.)
|
|
The default for range is the current line
|
|
@emph{only},
|
|
i.e.
|
|
@QT{.,.}.
|
|
A percent sign
|
|
@PQ{%}
|
|
stands for the range
|
|
@QT{1,$}.
|
|
The starting address must be less than, or equal to, the ending address.
|
|
@cindex "count"
|
|
@IP{count}
|
|
|
|
A positive integer, specifying the number of lines to be affected by
|
|
the command; the default is 1.
|
|
Generally, a count past the end-of-file may be specified, e.g. the
|
|
command
|
|
@QT{p 3000}
|
|
in a 10 line file is acceptable, and will print from the current line
|
|
through the last line in the file.
|
|
@cindex "flags"
|
|
@IP{flags}
|
|
|
|
One or more of the characters
|
|
@QQ{#},
|
|
@QQ{p},
|
|
and
|
|
@QQ{l}.
|
|
When a command that accepts these flags completes, the addressed line(s)
|
|
are written out as if by the corresponding
|
|
@CO{#},
|
|
@CO{l}
|
|
or
|
|
@CO{p}
|
|
commands.
|
|
In addition, any number of
|
|
@QT{+}
|
|
or
|
|
@QT{-}
|
|
characters can be specified before, after, or during the flags, in which
|
|
case the line written is not necessarily the one affected by the command,
|
|
but rather the line addressed by the offset address specified.
|
|
The default for
|
|
@LI{flags}is none.
|
|
@cindex "file"
|
|
@IP{file}
|
|
|
|
A pattern used to derive a pathname; the default is the current file.
|
|
File names are subjected to normal
|
|
@XR{sh,1}
|
|
word expansions.
|
|
@end itemize
|
|
|
|
Anywhere a file name is specified, it is also possible to use
|
|
the special string
|
|
@QT{/tmp}.
|
|
This will be replaced with a temporary file name which can be used
|
|
for temporary work, e.g.
|
|
@QT{:e /tmp}
|
|
creates and edits a new file.
|
|
|
|
If both a count and a range are specified for commands that use either,
|
|
the starting line for the command is the
|
|
@emph{last}
|
|
line addressed by the range, and
|
|
@LI{count}- 1
|
|
subsequent lines are affected by the command, e.g. the command
|
|
@QT{2,3p4}
|
|
prints out lines 3, 4, 5 and 6.
|
|
|
|
When only a line or range is specified, with no command, the implied
|
|
command is either a
|
|
@CO{list},
|
|
@CO{number}
|
|
or
|
|
@CO{print}
|
|
command.
|
|
The command used is the most recent of the three commands to have been
|
|
used (including any use as a flag).
|
|
If none of these commands have been used before, the
|
|
@CO{print}
|
|
command is the implied command.
|
|
When no range or count is specified and the command line is a blank line,
|
|
the current line is incremented by 1 and then the current line is displayed.
|
|
|
|
Zero or more whitespace characters may precede or follow the addresses,
|
|
count, flags, or command name.
|
|
Any object following a command name (such as buffer, file, etc.),
|
|
that begins with an alphabetic character,
|
|
should be separated from the command name by at least one whitespace
|
|
character.
|
|
|
|
Any character, including
|
|
@LI{<carriage-return>},
|
|
@QT{%}
|
|
and
|
|
@QT{#}
|
|
retain their literal value when preceded by a backslash.
|
|
@chapter Ex Commands
|
|
|
|
The following section describes the commands available in the
|
|
@CO{ex}
|
|
editor.
|
|
In each entry below, the tag line is a usage synopsis for the command.
|
|
|
|
Each command can be entered as the abbreviation
|
|
(those characters in the synopsis command word preceding the
|
|
@QQ{[}
|
|
character),
|
|
the full command (all characters shown for the command word,
|
|
omitting the
|
|
@QQ{[}
|
|
and
|
|
@QQ{]}
|
|
characters),
|
|
or any leading subset of the full command down to the abbreviation.
|
|
For example, the args command (shown as
|
|
@QT{ar[gs]}
|
|
in the synopsis)
|
|
can be entered as
|
|
@QT{ar},
|
|
@QT{arg}
|
|
or
|
|
@QT{args}.
|
|
|
|
Each
|
|
@CO{ex}
|
|
command described below notes the new current line after it
|
|
is executed, as well as any options that affect the command.
|
|
@cindex DOUBLEQUOTE
|
|
@deftypefn Command {} {"}
|
|
|
|
A comment.
|
|
Command lines beginning with the double-quote character
|
|
@PQ{"}
|
|
are ignored.
|
|
This permits comments in editor scripts and startup files.
|
|
@end deftypefn
|
|
@cindex "<control-D>"
|
|
@cindex "<end-of-file>"
|
|
@deftypefn Command {} {<control-D>}
|
|
|
|
@deftypefnx Command {} {<end-of-file>}
|
|
|
|
Scroll the screen.
|
|
Write the next N lines, where N is the value of the
|
|
@OP{scroll}
|
|
option.
|
|
The command is the end-of-file terminal character, which may be
|
|
different on different terminals.
|
|
Traditionally, it is the
|
|
@LI{<control-D>}key.
|
|
@sp 1
|
|
Historically, the
|
|
@CO{eof}
|
|
command ignored any preceding count, and the
|
|
@LI{<end-of-file>}character was ignored unless it was entered as the first character
|
|
of the command.
|
|
This implementation treats it as a command
|
|
@emph{only}
|
|
if entered as the first character of the command line, and otherwise
|
|
treats it as any other character.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line written.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{scroll}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex "!"
|
|
@deftypefn Command {} {!} {argument(s)}
|
|
|
|
@deftypefnx Command {} {[range]!} {argument(s)}
|
|
Execute a shell command, or filter lines through a shell command.
|
|
In the first synopsis, the remainder of the line after the
|
|
@QT{!}
|
|
character is passed to the program named by the
|
|
@OP{shell}
|
|
option, as a single argument.
|
|
@sp 1
|
|
Within the rest of the line,
|
|
@QT{%}
|
|
and
|
|
@QT{#}
|
|
are expanded into the current and alternate pathnames, respectively.
|
|
The character
|
|
@QT{!}
|
|
is expanded with the command text of the previous
|
|
@CO{!}
|
|
command.
|
|
(Therefore, the command
|
|
@CO{!!}
|
|
repeats the previous
|
|
@CO{!}
|
|
command.)
|
|
The special meanings of
|
|
@QT{%},
|
|
@QT{#},
|
|
and
|
|
@QT{!}
|
|
can be overridden by escaping them with a backslash.
|
|
If no
|
|
@CO{!}
|
|
or
|
|
@CO{:!}
|
|
command has yet been executed, it is an error to use an unescaped
|
|
@QT{!}
|
|
character.
|
|
The
|
|
@CO{!}
|
|
command does
|
|
@emph{not}
|
|
do shell expansion on the strings provided as arguments.
|
|
If any of the above expansions change the command the user entered,
|
|
the command is redisplayed at the bottom of the screen.
|
|
@sp 1
|
|
@CO{Ex}
|
|
then executes the program named by the
|
|
@OP{shell}
|
|
option, with a
|
|
@strong{-c}
|
|
flag followed by the arguments (which are bundled into a single argument).
|
|
@sp 1
|
|
The
|
|
@CO{!}
|
|
command is permitted in an empty file.
|
|
@sp 1
|
|
If the file has been modified since it was last completely written,
|
|
the
|
|
@CO{!}
|
|
command will warn you.
|
|
@sp 1
|
|
A single
|
|
@QT{!}
|
|
character is displayed when the command completes.
|
|
@sp 1
|
|
In the second form of the
|
|
@CO{!}
|
|
command, the remainder of the line after the
|
|
@QT{!}
|
|
is passed to the program named by the
|
|
@OP{shell}
|
|
option, as described above.
|
|
The specified lines are passed to the program as standard input,
|
|
and the standard and standard error output of the program replace
|
|
the original lines.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged if no range was specified, otherwise set to the first
|
|
line of the range.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{shell}
|
|
and
|
|
@OP{warn}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex "#"
|
|
@deftypefn Command {[range]} {#} {[count] [flags]}
|
|
|
|
@cindex "number"
|
|
@deftypefnx Command {[range]} {nu[mber]} {[count] [flags]}
|
|
Display the selected lines, each preceded with its line number.
|
|
@sp 1
|
|
The line number format is
|
|
@QQ{%6d},
|
|
followed by two spaces.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line displayed.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{list}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex "@@"
|
|
@deftypefn Command {@@} {buffer}
|
|
|
|
@cindex "*"
|
|
@deftypefnx Command {} {*} {buffer}
|
|
Execute a buffer.
|
|
Each line in the named buffer is executed as an
|
|
@CO{ex}
|
|
command.
|
|
If no buffer is specified, or if the specified buffer is
|
|
@QT{@@}
|
|
or
|
|
@QT{*},
|
|
the last buffer executed is used.
|
|
@end deftypefn
|
|
@cindex <
|
|
@deftypefn Command {[range]} {<[< ...]} {[count] [flags]}
|
|
|
|
Shift lines left or right.
|
|
The specified lines are shifted to the left (for the
|
|
@CO{<}
|
|
command) or right (for the
|
|
@CO{>}
|
|
command), by the number of columns specified by the
|
|
@OP{shiftwidth}
|
|
option.
|
|
Only leading whitespace characters are deleted when shifting left;
|
|
once the first column of the line contains a nonblank character,
|
|
the
|
|
@CO{shift}
|
|
command will succeed, but the line will not be modified.
|
|
@sp 1
|
|
If the command character
|
|
@CO{<}
|
|
or
|
|
@CO{>}
|
|
is repeated more than once, the command is repeated once for each
|
|
additional command character.
|
|
@table @asis
|
|
@item Line:
|
|
If the current line is set to one of the lines that are affected
|
|
by the command, it is unchanged.
|
|
Otherwise, it is set to the first nonblank character of the lowest
|
|
numbered line shifted.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{shiftwidth}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex =
|
|
@deftypefn Command {[line]} {=} {[flags]}
|
|
|
|
Display the line number of
|
|
@LI{line}(which defaults to the last line in the file).
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex >
|
|
@deftypefn Command {[range]} {>[> ...]} {[count] [flags]}
|
|
|
|
Shift right.
|
|
The specified lines are shifted to the right by the number of columns
|
|
specified by the
|
|
@OP{shiftwidth}
|
|
option, by inserting tab and space characters.
|
|
Empty lines are not changed.
|
|
@sp 1
|
|
If the command character
|
|
@QT{>}
|
|
is repeated more than once, the command is repeated once for each
|
|
additional command character.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line modified by the command.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{shiftwidth}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex abbrev
|
|
@deftypefn Command {} {ab[brev]} {lhs rhs}
|
|
|
|
Add an abbreviation to the current abbreviation list.
|
|
When inserting text in
|
|
@CO{vi},
|
|
each time a non-word character is entered after a word character,
|
|
a set of characters ending at the word character are checked for
|
|
a match with
|
|
@LI{lhs}.
|
|
If a match is found, they are replaced with
|
|
@LI{rhs}.
|
|
The set of characters that are checked for a match are defined as follows,
|
|
for inexplicable historical reasons.
|
|
If only one or two characters were entered before the non-word character
|
|
that triggered the check,
|
|
and after the beginning of the insertion,
|
|
or the beginning of the line or the file,
|
|
or the last
|
|
@LI{<blank>}character that was entered,
|
|
then the one or the both characters are checked for a match.
|
|
Otherwise, the set includes both characters,
|
|
as well as the characters that precede them that are the same word
|
|
class (i.e. word or non-word) as the
|
|
@strong{second}
|
|
to last character entered before the non-word character that triggered
|
|
the check,
|
|
back to the first
|
|
@LI{<blank>}character,
|
|
the beginning of the insertion,
|
|
or the beginning of the line or the file.
|
|
@sp 1
|
|
For example, the abbreviations:
|
|
@sp 1
|
|
@multitable {:abbreviate} {/*#i} {/********************}
|
|
@item :abbreviate @tab abc @tab ABC
|
|
@item :abbreviate @tab #i @tab #include
|
|
@item :abbreviate @tab /*#i @tab /*#include
|
|
@end multitable
|
|
will all work, while the abbreviations:
|
|
@sp 1
|
|
@multitable {:abbreviate} {/*#i} {/********************}
|
|
@item :abbreviate @tab a#i @tab A#include
|
|
@item :abbreviate @tab /* @tab /********************
|
|
@end multitable
|
|
will not work, and are not permitted by
|
|
@CO{nvi}.
|
|
@sp 1
|
|
To keep the abbreviation expansion from happening,
|
|
the character immediately following the
|
|
@LI{lhs}characters should be quoted with a
|
|
@LI{<literal-next>}character.
|
|
@sp 1
|
|
The replacement
|
|
@LI{rhs}is itself subject to both further abbreviation expansion and further
|
|
map expansion.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex append
|
|
@deftypefn Command {[line]} {a[ppend][!]}
|
|
|
|
The input text is appended to the specified line.
|
|
If line 0 is specified, the text is inserted at the beginning of the file.
|
|
Set to the last line input.
|
|
If no lines are input, then set to
|
|
@LI{line},
|
|
or to the first line of the file if a
|
|
@LI{line}of 0 was specified.
|
|
Following the command name with a
|
|
@QT{!}
|
|
character causes the
|
|
@OP{autoindent}
|
|
option to be toggled for the duration of the command.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{autoindent}
|
|
and
|
|
@OP{number}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex args
|
|
@deftypefn Command {} {ar[gs]}
|
|
|
|
Display the argument list.
|
|
The current argument is displayed inside of
|
|
@QT{[}
|
|
and
|
|
@QT{]}
|
|
characters.
|
|
The argument list is the list of operands specified on startup,
|
|
which can be replaced using the
|
|
@CO{next}
|
|
command.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex bg
|
|
@deftypefn Command {} {bg}
|
|
|
|
@CO{Vi}
|
|
mode only.
|
|
Background the current screen.
|
|
The screen is unchanged,
|
|
but is no longer accessible and disappears from the display.
|
|
Use the
|
|
@CO{fg}
|
|
command to bring the screen back to the display foreground.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the current line when the screen was last edited.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex change
|
|
@deftypefn Command {[range]} {c[hange][!]} {[count]}
|
|
|
|
Replace the lines with input text.
|
|
Following the command name with a
|
|
@QT{!}
|
|
character causes the
|
|
@OP{autoindent}
|
|
option to be toggled for the duration of the command.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line input, or, if no lines were input,
|
|
set to the line before the target line, or to the first
|
|
line of the file if there are no lines preceding the target line.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{autoindent}
|
|
and
|
|
@OP{number}
|
|
options.
|
|
@end table
|
|
@cindex cd
|
|
@end deftypefn
|
|
@cindex chdir
|
|
@deftypefn Command {} {chd[ir][!]} {[directory]}
|
|
|
|
@deftypefnx Command {} {cd[!]} {[directory]}
|
|
Change the current working directory.
|
|
The
|
|
@LI{directory}argument is subjected to
|
|
@XR{sh,1}
|
|
word expansions.
|
|
When invoked with no directory argument and the
|
|
@LI{HOME}environment variable is set, the directory named by the
|
|
@LI{HOME}environment variable becomes the new current directory.
|
|
Otherwise, the new current directory becomes the directory returned
|
|
by the
|
|
@XR{getpwent,3}
|
|
routine.
|
|
@sp 1
|
|
The
|
|
@CO{chdir}
|
|
command will fail if the file has been modified since the last complete
|
|
write of the file.
|
|
You can override this check by appending a
|
|
@QT{!}
|
|
character to the command.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{cdpath}
|
|
option.
|
|
@end table
|
|
@cindex copy
|
|
@end deftypefn
|
|
@cindex t
|
|
@deftypefn Command {[range]} {co[py]} {line [flags]}
|
|
|
|
@deftypefnx Command {[range]} {t} {line [flags]}
|
|
Copy the specified lines (range) after the destination line.
|
|
Line 0 may be specified to insert the lines at the beginning of
|
|
the file.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex cscope
|
|
@deftypefn Command {} {cs[cope]} {command [args]}
|
|
|
|
Execute a
|
|
@CO{cscope}
|
|
command.
|
|
For more information, see the section of the reference manual entitled
|
|
@QB{Tags, Tag Stacks, and Cscope} .
|
|
@end deftypefn
|
|
@cindex delete
|
|
@deftypefn Command {[range]} {d[elete]} {[buffer] [count] [flags]}
|
|
|
|
Delete the lines from the file.
|
|
The deleted text is saved in the specified buffer, or, if no buffer
|
|
is specified, in the unnamed buffer.
|
|
If the command name is followed by a letter that could be interpreted
|
|
as either a buffer name or a flag value (because neither a
|
|
@LI{count}or
|
|
@LI{flags}values were given),
|
|
@CO{ex}
|
|
treats the letter as a
|
|
@LI{flags}value if the letter immediately follows the command name,
|
|
without any whitespace separation.
|
|
If the letter is preceded by whitespace characters,
|
|
it treats it as a buffer name.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the line following the deleted lines,
|
|
or to the last line if the deleted lines were at the end.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex display
|
|
@deftypefn Command {} {di[splay]} {b[uffers] | c[onnections] | s[creens] | t[ags]}
|
|
|
|
Display buffers,
|
|
@CO{cscope}
|
|
connections, screens or tags.
|
|
The
|
|
@CO{display}
|
|
command takes one of three additional arguments, which are as follows:
|
|
@table @asis
|
|
@item b[uffers]
|
|
Display all buffers (including named, unnamed, and numeric)
|
|
that contain text.
|
|
@item c[onnections]
|
|
Display the source directories for all attached
|
|
@CO{cscope}
|
|
databases.
|
|
@item s[creens]
|
|
Display the file names of all background screens.
|
|
@item t[ags]
|
|
Display the tags stack.
|
|
@end table
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex edit
|
|
@deftypefn Command {} {e[dit][!]} {[+cmd] [file]}
|
|
@deftypefnx Command {} {ex[!]} {[+cmd] [file]}
|
|
@deftypefnx Command {} {vs[plit][!]} {[+cmd] [file]}
|
|
Edit a different file.
|
|
If the current buffer has been modified since the last complete write,
|
|
the command will fail.
|
|
You can override this by appending a
|
|
@QT{!}
|
|
character to the command name.
|
|
@sp 1
|
|
If the
|
|
@QT{+cmd}
|
|
option is specified, that
|
|
@CO{ex}
|
|
command will be executed in the new file.
|
|
Any
|
|
@CO{ex}
|
|
command may be used, although the most common use of this feature is
|
|
to specify a line number or search pattern to set the initial location
|
|
in the new file.
|
|
@sp 1
|
|
Capitalizing the first letter of the command, i.e.,
|
|
@CO{Edit}
|
|
or
|
|
@CO{Ex},
|
|
while in
|
|
@CO{vi}
|
|
mode, will edit the file in a new screen.
|
|
In this case, any modifications to the current file are ignored.
|
|
@cindex vertical split
|
|
@cindex splitting, vertically
|
|
@CO{vsplit} is similar, but the screen will be split vertically
|
|
to produce the new screen, rather than horizontally.
|
|
|
|
@table @asis
|
|
@item Line:
|
|
If you have previously edited the file, the current line will be set
|
|
to your last position in the file.
|
|
If that position does not exist, or you have not previously edited the
|
|
file, the current line will be set to the first line of the file if
|
|
you are in
|
|
@CO{vi}
|
|
mode, and the last line of the file if you are in
|
|
@CO{ex}.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex exusage
|
|
@deftypefn Command {} {exu[sage]} {[command]}
|
|
|
|
Display usage for an
|
|
@CO{ex}
|
|
command.
|
|
If
|
|
@LI{command}is specified, a usage statement for that command is displayed.
|
|
Otherwise, usage statements for all
|
|
@CO{ex}
|
|
commands are displayed.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex file
|
|
@deftypefn Command {} {f[ile]} {[file]}
|
|
|
|
Display and optionally change the file name.
|
|
If a file name is specified, the current pathname is changed to the
|
|
specified name.
|
|
The current pathname, the number of lines, and the current position
|
|
in the file are displayed.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex fg
|
|
@deftypefn Command {} {fg} {[name]}
|
|
|
|
@CO{Vi}
|
|
mode only.
|
|
Foreground the specified screen.
|
|
If the argument name doesn't exactly match the name of a file displayed
|
|
by a background screen,
|
|
it is compared against the last component of each of the file names.
|
|
If no background screen is specified,
|
|
the first background screen is foregrounded.
|
|
@sp 1
|
|
By default,
|
|
foregrounding causes the current screen to be swapped with the backgrounded
|
|
screen.
|
|
Capitalizing the first letter of the command, i.e.
|
|
@CO{Fg},
|
|
will foreground the backgrounded screen in a new screen instead of
|
|
swapping it with the current screen.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the current line when the screen was last edited.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex global
|
|
@deftypefn Command {[range]} {g[lobal]} {/pattern/ [commands]}
|
|
|
|
@cindex v
|
|
@deftypefnx Command {[range]} {v} {/pattern/ [commands]}
|
|
Apply commands to lines matching (or not matching) a pattern.
|
|
The lines within the given range that match
|
|
@PQ{g[lobal]},
|
|
or do not match
|
|
@PQ{v}
|
|
the given pattern are selected.
|
|
Then, the specified
|
|
@CO{ex}
|
|
command(s) are executed with the current line
|
|
@PQ{.}
|
|
set to each selected line.
|
|
If no range is specified, the entire file is searched for matching,
|
|
or not matching, lines.
|
|
@sp 1
|
|
Multiple commands can be specified, one per line, by escaping each
|
|
@LI{<newline>}character with a backslash, or by separating commands with a
|
|
@QT{|}
|
|
character.
|
|
If no commands are specified, the command defaults to the
|
|
@CO{print}
|
|
command.
|
|
@sp 1
|
|
For the
|
|
@CO{append},
|
|
@CO{change}
|
|
and
|
|
@CO{insert}
|
|
commands, the input text must be part of the global command line.
|
|
In this case, the terminating period can be omitted if it ends the commands.
|
|
@sp 1
|
|
The
|
|
@CO{visual}
|
|
command may also be specified as one of the
|
|
@CO{ex}
|
|
commands.
|
|
In this mode, input is taken from the terminal.
|
|
Entering a
|
|
@CO{Q}
|
|
command in
|
|
@CO{vi}
|
|
mode causes the next line matching the pattern to be selected and
|
|
@CO{vi}
|
|
to be reentered, until the list is exhausted.
|
|
@sp 1
|
|
The
|
|
@CO{global},
|
|
@CO{v}
|
|
and
|
|
@CO{undo}
|
|
commands cannot be used as part of these commands.
|
|
@sp 1
|
|
The editor options
|
|
@OP{autoindent},
|
|
@OP{autoprint}
|
|
and
|
|
@OP{report}
|
|
are turned off for the duration of the
|
|
@CO{global}
|
|
and
|
|
@CO{v}
|
|
commands.
|
|
@table @asis
|
|
@item Line:
|
|
The last line modified.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{ignorecase}
|
|
and
|
|
@OP{magic}
|
|
options.
|
|
Turns off the
|
|
@OP{autoindent},
|
|
@OP{autoprint}
|
|
and
|
|
@OP{report}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex help
|
|
@deftypefn Command {} {he[lp]}
|
|
|
|
Display a help message.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex insert
|
|
@deftypefn Command {[line]} {i[nsert][!]}
|
|
|
|
The input text is inserted before the specified line.
|
|
Following the command name with a
|
|
@QT{!}
|
|
character causes the
|
|
@OP{autoindent}
|
|
option setting to be toggled for the duration of this command.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line input; if no lines were input,
|
|
set to the line before the target line, or to the first line
|
|
of the file if there are no lines preceding the target line.
|
|
Affected by the
|
|
@OP{autoindent}
|
|
and
|
|
@OP{number}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex join
|
|
@deftypefn Command {[range]} {j[oin][!]} {[count] [flags]}
|
|
|
|
Join lines of text together.
|
|
@sp 1
|
|
A
|
|
@LI{count}specified to the
|
|
@CO{join}
|
|
command specifies that the last line of the
|
|
@LI{range}plus
|
|
@LI{count}subsequent lines will be joined.
|
|
(Note, this differs by one from the general rule where only
|
|
@LI{count}- 1
|
|
subsequent lines are affected.)
|
|
@sp 1
|
|
If the current line ends with a whitespace character, all whitespace
|
|
is stripped from the next line.
|
|
Otherwise, if the next line starts with a open parenthesis
|
|
@PQ{(},
|
|
do nothing.
|
|
Otherwise, if the current line ends with a question mark
|
|
@PQ{?},
|
|
period
|
|
@PQ{.}
|
|
or exclamation point
|
|
@PQ{!},
|
|
insert two spaces.
|
|
Otherwise, insert a single space.
|
|
@sp 1
|
|
Appending a
|
|
@QT{!}
|
|
character to the command name causes a simpler join with no
|
|
white-space processing.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex list
|
|
@deftypefn Command {[range]} {l[ist]} {[count] [flags]}
|
|
|
|
Display the lines unambiguously.
|
|
Tabs are displayed as
|
|
@QT{^I},
|
|
and the end of the line is marked with a
|
|
@QT{$}
|
|
character.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line displayed.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{number}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex map
|
|
@deftypefn Command {} {map[!]} {[lhs rhs]}
|
|
|
|
Define or display maps (for
|
|
@CO{vi}
|
|
only).
|
|
@sp 1
|
|
If
|
|
@QT{lhs}
|
|
and
|
|
@QT{rhs}
|
|
are not specified, the current set of command mode maps are displayed.
|
|
If a
|
|
@QT{!}
|
|
character is appended to to the command,
|
|
the text input mode maps are displayed.
|
|
@sp 1
|
|
Otherwise, when the
|
|
@QT{lhs}
|
|
character sequence is entered in
|
|
@CO{vi},
|
|
the action is as if the corresponding
|
|
@QT{rhs}
|
|
had been entered.
|
|
If a
|
|
@QT{!}
|
|
character is appended to the command name,
|
|
the mapping is effective during text input mode,
|
|
otherwise, it is effective during command mode.
|
|
This allows
|
|
@QT{lhs}
|
|
to have two different macro definitions at the same time: one for command
|
|
mode and one for input mode.
|
|
@sp 1
|
|
Whitespace characters require escaping with a
|
|
@LI{<literal-next>}character to be entered in the
|
|
@LI{lhs}string in visual mode.
|
|
@sp 1
|
|
Normally, keys in the
|
|
@LI{rhs}string are remapped (see the
|
|
@OP{remap}
|
|
option),
|
|
and it is possible to create infinite loops.
|
|
However, keys which map to themselves are not further remapped,
|
|
regardless of the setting of the
|
|
@OP{remap}
|
|
option.
|
|
For example, the command
|
|
@QT{:map n nz.}
|
|
maps the
|
|
@QT{n}
|
|
key to the
|
|
@CO{n}
|
|
and
|
|
@CO{z}
|
|
commands.
|
|
@sp 1
|
|
To exit an infinitely looping map, use the terminal
|
|
@LI{<interrupt>}character.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{remap}
|
|
option.
|
|
@end table
|
|
@cindex mark
|
|
@end deftypefn
|
|
@cindex k
|
|
@deftypefn Command {[line]} {ma[rk]} {<character>}
|
|
|
|
@deftypefnx Command {[line]} {k} {<character>}
|
|
Mark the line with the mark
|
|
@LI{<character>}.
|
|
The expressions
|
|
@QT{'<character>}
|
|
and
|
|
@QT{`<character>}
|
|
can then be used as an address in any command that uses one.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex move
|
|
@deftypefn Command {[range]} {m[ove]} {line}
|
|
|
|
Move the specified lines after the target line.
|
|
A target line of 0 places the lines at the beginning of the file.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the first of the moved lines.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex mkexrc
|
|
@deftypefn Command {} {mk[exrc][!]} {file}
|
|
|
|
Write the abbreviations, editor options and maps to the specified
|
|
file.
|
|
Information is written in a form which can later be read back in
|
|
using the
|
|
@CO{ex}
|
|
@CO{source}
|
|
command.
|
|
If
|
|
@LI{file}already exists, the
|
|
@CO{mkexrc}
|
|
command will fail.
|
|
This check can be overridden by appending a
|
|
@QT{!}
|
|
character to the command.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex next
|
|
@deftypefn Command {} {n[ext][!]} {[file ...]}
|
|
|
|
Edit the next file from the argument list.
|
|
The
|
|
@CO{next}
|
|
command will fail if the file has been modified since the last complete
|
|
write.
|
|
This check can be overridden by appending the
|
|
@QT{!}
|
|
character to the command name.
|
|
The argument list can optionally be replaced by specifying a new one
|
|
as arguments to this command.
|
|
In this case, editing starts with the first file on the new list.
|
|
@sp 1
|
|
Capitalizing the first letter of the command, i.e.
|
|
@CO{Next},
|
|
while in
|
|
@CO{vi}
|
|
mode, will set the argument list and edit the file in a new screen.
|
|
In this case, any modifications to the current file are ignored.
|
|
@table @asis
|
|
@item Line:
|
|
Set as described for the
|
|
@CO{edit}
|
|
command.
|
|
@item Options:
|
|
Affected by the options
|
|
@OP{autowrite}
|
|
and
|
|
@OP{writeany}.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex open
|
|
@deftypefn Command {[line]} {o[pen]} {/pattern/ [flags]}
|
|
|
|
Enter open mode.
|
|
Open mode is the same as being in
|
|
@CO{vi},
|
|
but with a one-line window.
|
|
All the standard
|
|
@CO{vi}
|
|
commands are available.
|
|
If a match is found for the optional RE argument,
|
|
the cursor is set to the start of the matching pattern.
|
|
@sp 1
|
|
@emph{This command is not yet implemented.}
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged, unless the optional RE is specified, in which case it is
|
|
set to the line where the matching pattern is found.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{open}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex preserve
|
|
@deftypefn Command {} {pre[serve]}
|
|
|
|
Save the file in a form that can later be recovered using the
|
|
@CO{ex}
|
|
@strong{-r}
|
|
option.
|
|
When the file is preserved, an email message is sent to the user.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex previous
|
|
@deftypefn Command {} {prev[ious][!]}
|
|
|
|
Edit the previous file from the argument list.
|
|
The
|
|
@CO{previous}
|
|
command will fail if the file has been modified since the last complete
|
|
write.
|
|
This check can be overridden by appending the
|
|
@QT{!}
|
|
character to the command name.
|
|
@sp 1
|
|
Capitalizing the first letter of the command, i.e.
|
|
@CO{Previous},
|
|
while in
|
|
@CO{vi}
|
|
mode, will edit the file in a new screen.
|
|
In this case, any modifications to the current file are ignored.
|
|
@table @asis
|
|
@item Line:
|
|
Set as described for the
|
|
@CO{edit}
|
|
command.
|
|
@item Options:
|
|
Affected by the options
|
|
@OP{autowrite}
|
|
and
|
|
@OP{writeany}.
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex print
|
|
@deftypefn Command {[range]} {p[rint]} {[count] [flags]}
|
|
|
|
Display the specified lines.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line displayed.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{list}
|
|
and
|
|
@OP{number}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex put
|
|
@deftypefn Command {[line]} {pu[t]} {[buffer]}
|
|
|
|
Append buffer contents to the current line.
|
|
If a buffer is specified, its contents are appended to the line,
|
|
otherwise, the contents of the unnamed buffer are used.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the line after the current line.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex quit
|
|
@deftypefn Command {} {q[uit][!]}
|
|
|
|
End the editing session.
|
|
If the file has been modified since the last complete write, the
|
|
@CO{quit}
|
|
command will fail.
|
|
This check may be overridden by appending a
|
|
@QT{!}
|
|
character to the command.
|
|
@sp 1
|
|
If there are more files to edit, the
|
|
@CO{quit}
|
|
command will fail.
|
|
Appending a
|
|
@QT{!}
|
|
character to the command name or entering two
|
|
@CO{quit}
|
|
commands (i.e.
|
|
@CO{wq},
|
|
@CO{quit},
|
|
@CO{xit}
|
|
or
|
|
@CO{ZZ})
|
|
in a row) will override this check and the editor will exit.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex read
|
|
@deftypefn Command {[line]} {r[ead][!]} {[file]}
|
|
|
|
Read a file.
|
|
A copy of the specified file is appended to the line.
|
|
If
|
|
@LI{line}is 0, the copy is inserted at the beginning of the file.
|
|
If no file is specified, the current file is read; if there is no
|
|
current file, then
|
|
@LI{file}becomes the current file.
|
|
If there is no current file and no
|
|
@LI{file}is specified, then the
|
|
@CO{read}
|
|
command will fail.
|
|
@sp 1
|
|
If
|
|
@LI{file}is preceded by a
|
|
@QT{!}
|
|
character,
|
|
@LI{file}is treated as if it were a shell command, and passed to the program
|
|
named by the
|
|
@OP{shell}
|
|
edit option.
|
|
The standard and standard error outputs of that command are read into
|
|
the file after the specified line.
|
|
The special meaning of the
|
|
@QT{!}
|
|
character can be overridden by escaping it with a backslash
|
|
@PQ{\e}
|
|
character.
|
|
@table @asis
|
|
@item Line:
|
|
When executed from
|
|
@CO{ex},
|
|
the current line is set to the last line read.
|
|
When executed from
|
|
@CO{vi},
|
|
the current line is set to the first line read.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex recover
|
|
@deftypefn Command {} {rec[over]} {file}
|
|
|
|
Recover
|
|
@LI{file}if it was previously saved.
|
|
If no saved file by that name exists, the
|
|
@CO{recover}
|
|
command behaves equivalently to the
|
|
@CO{edit}
|
|
command.
|
|
@table @asis
|
|
@item Line:
|
|
Set as described for the
|
|
@CO{edit}
|
|
command.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex resize
|
|
@deftypefn Command {} {res[ize]} {[+|-]size}
|
|
|
|
@CO{Vi}
|
|
mode only.
|
|
Grow or shrink the current screen.
|
|
If
|
|
@LI{size}is a positive, signed number, the current screen is grown by that many lines.
|
|
If
|
|
@LI{size}is a negative, signed number, the current screen is shrunk by that many lines.
|
|
If
|
|
@LI{size}is not signed, the current screen is set to the specified
|
|
@LI{size}.
|
|
Applicable only to split screens.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex rewind
|
|
@deftypefn Command {} {rew[ind][!]}
|
|
|
|
Rewind the argument list.
|
|
If the current file has been modified since the last complete write,
|
|
the
|
|
@CO{rewind}
|
|
command will fail.
|
|
This check may be overridden by appending the
|
|
@QT{!}
|
|
character to the command.
|
|
@sp 1
|
|
Otherwise, the current file is set to the first file in the argument
|
|
list.
|
|
@table @asis
|
|
@item Line:
|
|
Set as described for the
|
|
@CO{edit}
|
|
command.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{autowrite}
|
|
and
|
|
@OP{writeany}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex set
|
|
@deftypefn Command {} {se[t]} {[option[=[value]] ...] [nooption ...] [option? ...] [all]}
|
|
|
|
Display or set editor options.
|
|
When no arguments are specified, the editor option
|
|
@OP{term},
|
|
and any editor options whose values have been changed from the
|
|
default settings are displayed.
|
|
If the argument
|
|
@LI{all}is specified, the values of all of editor options are displayed.
|
|
@sp 1
|
|
Specifying an option name followed by the character
|
|
@QT{?}
|
|
causes the current value of that option to be displayed.
|
|
The
|
|
@QT{?}
|
|
can be separated from the option name by whitespace characters.
|
|
The
|
|
@QT{?}
|
|
is necessary only for Boolean valued options.
|
|
Boolean options can be given values by the form
|
|
@QT{set option}
|
|
to turn them on, or
|
|
@QT{set nooption}
|
|
to turn them off.
|
|
String and numeric options can be assigned by the form
|
|
@QT{set option=value}.
|
|
Any whitespace characters in strings can be included literally by preceding
|
|
each with a backslash.
|
|
More than one option can be set or listed by a single set command,
|
|
by specifying multiple arguments, each separated from the next by
|
|
whitespace characters.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex shell
|
|
@deftypefn Command {} {sh[ell]}
|
|
|
|
Run the shell program.
|
|
The program named by the
|
|
@OP{shell}
|
|
option is run with a
|
|
@strong{-i}
|
|
(for interactive) flag.
|
|
Editing is resumed when that program exits.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{shell}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex source
|
|
@deftypefn Command {} {so[urce]} {file}
|
|
|
|
Read and execute
|
|
@CO{ex}
|
|
commands from a file.
|
|
@CO{Source}
|
|
commands may be nested.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex substitute
|
|
@deftypefn Command {[range]} {s[ubstitute]} {[/pattern/replace/] [options] [count] [flags]}
|
|
|
|
@cindex &
|
|
@deftypefnx Command {[range]} {&} {[options] [count] [flags]}
|
|
@cindex ~
|
|
@deftypefnx Command {[range]} {~} {[options] [count] [flags]}
|
|
Make substitutions.
|
|
Replace the first instance of
|
|
@LI{pattern}with the string
|
|
@LI{replace}on the specified line(s).
|
|
If the
|
|
@QT{/pattern/repl/}
|
|
argument is not specified, the
|
|
@QT{/pattern/repl/}
|
|
from the previous
|
|
@CO{substitute}
|
|
command is used.
|
|
Any character other than an alphabetic, numeric, <blank> or backslash
|
|
character may be used as the delimiter.
|
|
@sp 1
|
|
If
|
|
@LI{options}includes the letter
|
|
@QT{c}
|
|
(confirm), you will be prompted for confirmation before each replacement
|
|
is done.
|
|
An affirmative response (in English, a
|
|
@QT{y}
|
|
character) causes the replacement to be made.
|
|
A quit response (in English, a
|
|
@QT{q}
|
|
character) causes the
|
|
@CO{substitute}
|
|
command to be terminated.
|
|
Any other response causes the replacement not to be made, and the
|
|
@CO{substitute}
|
|
command continues.
|
|
If
|
|
@LI{options}includes the letter
|
|
@QT{g}
|
|
(global), all nonoverlapping instances of
|
|
@LI{pattern}in the line are replaced.
|
|
@sp 1
|
|
The
|
|
@CO{&}
|
|
version of the command is the same as not specifying a pattern
|
|
or replacement string to the
|
|
@CO{substitute}
|
|
command, and the
|
|
@QT{&}
|
|
is replaced by the pattern and replacement information from the
|
|
previous substitute command.
|
|
@sp 1
|
|
The
|
|
@CO{~}
|
|
version of the command is the same as
|
|
@CO{&}
|
|
and
|
|
@CO{s},
|
|
except that the search pattern used is the last RE used in
|
|
@emph{any}
|
|
command, not necessarily the one used in the last
|
|
@CO{substitute}
|
|
command.
|
|
@sp 1
|
|
For example, in the sequence
|
|
@example
|
|
s/red/blue/
|
|
/green
|
|
~
|
|
@end example
|
|
the
|
|
@QT{~}
|
|
is equivalent to
|
|
@QT{s/green/blue/}.
|
|
@sp 1
|
|
The
|
|
@CO{substitute}
|
|
command may be interrupted, using the terminal interrupt character.
|
|
All substitutions completed before the interrupt are retained.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line upon which a substitution was made.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{ignorecase}
|
|
and
|
|
@OP{magic}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex suspend
|
|
@deftypefn Command {} {su[spend][!]}
|
|
|
|
@cindex stop
|
|
@deftypefnx Command {} {st[op][!]}
|
|
@deftypefnx Comamnd {} <control-Z>
|
|
Suspend the edit session.
|
|
Appending a
|
|
@QT{!}
|
|
character to these commands turns off the
|
|
@OP{autowrite}
|
|
option for the command.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{autowrite}
|
|
and
|
|
@OP{writeany}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex tag
|
|
@deftypefn Command {} {ta[g][!]} {tagstring}
|
|
|
|
Edit the file containing the specified tag.
|
|
If the tag is in a different file, then the new file is edited.
|
|
If the current file has been modified since the last complete write,
|
|
the
|
|
@CO{tag}
|
|
command will fail.
|
|
This check can be overridden by appending the
|
|
@QT{!}
|
|
character to the command name.
|
|
@sp 1
|
|
The
|
|
@CO{tag}
|
|
command searches for
|
|
@LI{tagstring}in the tags file(s) specified by the
|
|
@OP{tags}
|
|
option.
|
|
(See
|
|
@XR{ctags,1}
|
|
for more information on tags files.)
|
|
@sp 1
|
|
Capitalizing the first letter of the command, i.e.
|
|
@CO{Tag},
|
|
while in
|
|
@CO{vi}
|
|
mode, will edit the file in a new screen.
|
|
In this case, any modifications to the current file are ignored.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the line indicated by the tag.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{autowrite},
|
|
@OP{taglength},
|
|
@OP{tags}
|
|
and
|
|
@OP{writeany}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex tagnext
|
|
@deftypefn Command {} {tagn[ext][!]}
|
|
|
|
Edit the file containing the next context for the current tag.
|
|
If the context is in a different file, then the new file is edited.
|
|
If the current file has been modified since the last complete write,
|
|
the
|
|
@CO{tagnext}
|
|
command will fail.
|
|
This check can be overridden by appending the
|
|
@QT{!}
|
|
character to the command name.
|
|
@sp 1
|
|
Capitalizing the first letter of the command, i.e.
|
|
@CO{Tagnext},
|
|
while in
|
|
@CO{vi}
|
|
mode, will edit the file in a new screen.
|
|
In this case, any modifications to the current file are ignored.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the line indicated by the tag.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{autowrite}
|
|
and
|
|
@OP{writeany}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex tagpop
|
|
@deftypefn Command {} {tagp[op][!]} {[file | number]}
|
|
|
|
Pop to the specified tag in the tags stack.
|
|
If neither
|
|
@LI{file}or
|
|
@LI{number}is specified, the
|
|
@CO{tagpop}
|
|
command pops to the most recent entry on the tags stack.
|
|
If
|
|
@LI{file}or
|
|
@LI{number}is specified, the
|
|
@CO{tagpop}
|
|
command pops to the most recent entry in the tags stack for that file,
|
|
or numbered entry in the tags stack, respectively.
|
|
(See the
|
|
@CO{display}
|
|
command for information on displaying the tags stack.)
|
|
@sp 1
|
|
If the file has been modified since the last complete write, the
|
|
@CO{tagpop}
|
|
command will fail.
|
|
This check may be overridden by appending a
|
|
@QT{!}
|
|
character to the command name.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the line indicated by the tag.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{autowrite}
|
|
and
|
|
@OP{writeany}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex tagprev
|
|
@deftypefn Command {} {tagp[rev][!]}
|
|
|
|
Edit the file containing the previous context for the current tag.
|
|
If the context is in a different file, then the new file is edited.
|
|
If the current file has been modified since the last complete write,
|
|
the
|
|
@CO{tagprev}
|
|
command will fail.
|
|
This check can be overridden by appending the
|
|
@QT{!}
|
|
character to the command name.
|
|
@sp 1
|
|
Capitalizing the first letter of the command, i.e.
|
|
@CO{Tagprev},
|
|
while in
|
|
@CO{vi}
|
|
mode, will edit the file in a new screen.
|
|
In this case, any modifications to the current file are ignored.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the line indicated by the tag.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{autowrite}
|
|
and
|
|
@OP{writeany}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex tagtop
|
|
@deftypefn Command {} {tagt[op][!]}
|
|
|
|
Pop to the least recent tag on the tags stack, clearing the tags stack.
|
|
@sp 1
|
|
If the file has been modified since the last complete write, the
|
|
@CO{tagtop}
|
|
command will fail.
|
|
This check may be overridden by appending a
|
|
@QT{!}
|
|
character to the command name.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the line indicated by the tag.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{autowrite}
|
|
and
|
|
@OP{writeany}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex unabbrev
|
|
@deftypefn Command {} {una[bbrev]} {lhs}
|
|
|
|
Delete an abbreviation.
|
|
Delete
|
|
@LI{lhs}from the current list of abbreviations.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex undo
|
|
@deftypefn Command {} {u[ndo]}
|
|
|
|
Undo the last change made to the file.
|
|
Changes made by
|
|
@CO{global},
|
|
@CO{v},
|
|
@CO{visual}
|
|
and map sequences are considered a single command.
|
|
If repeated, the
|
|
@CO{u}
|
|
command alternates between these two states, and is its own inverse.
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line modified by the command.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex unmap
|
|
@deftypefn Command {} {unm[ap][!]} {lhs}
|
|
|
|
Unmap a mapped string.
|
|
Delete the command mode map definition for
|
|
@LI{lhs}.
|
|
If a
|
|
@QT{!}
|
|
character is appended to the command name, delete the text input mode
|
|
map definition instead.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex version
|
|
@deftypefn Command {} {ve[rsion]}
|
|
|
|
Display the version of the
|
|
@CO{ex/vi}
|
|
editor.
|
|
@end deftypefn
|
|
@cindex visual
|
|
@deftypefn Command {[line]} {vi[sual]} {[type] [count] [flags]}
|
|
|
|
@CO{Ex}
|
|
mode only.
|
|
Enter
|
|
@CO{vi}.
|
|
The
|
|
@LI{type}is optional, and can be
|
|
@QT{-},
|
|
@QT{+}
|
|
or
|
|
@QT{^},
|
|
as in the
|
|
@CO{ex}
|
|
@CO{z}
|
|
command, to specify the position of the specified line in the screen
|
|
window.
|
|
(The default is to place the line at the top of the screen window.)
|
|
A
|
|
@LI{count}specifies the number of lines that will initially be displayed.
|
|
(The default is the value of the
|
|
@OP{window}
|
|
editor option.)
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged unless
|
|
@LI{line}is specified, in which case it is set to that line.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex visual
|
|
@deftypefn Command {} {vi[sual][!]} {[+cmd] [file]}
|
|
|
|
@CO{Vi}
|
|
mode only.
|
|
Edit a new file.
|
|
Identical to the
|
|
@QT{edit[!] [+cmd] [file]}
|
|
command.
|
|
@sp 1
|
|
Capitalizing the first letter of the command, i.e.
|
|
@CO{Visual},
|
|
will edit the file in a new screen.
|
|
In this case, any modifications to the current file are ignored.
|
|
@end deftypefn
|
|
@cindex viusage
|
|
@deftypefn Command {} {viu[sage]} {[command]}
|
|
|
|
Display usage for a
|
|
@CO{vi}
|
|
command.
|
|
If
|
|
@LI{command}is specified, a usage statement for that command is displayed.
|
|
Otherwise, usage statements for all
|
|
@CO{vi}
|
|
commands are displayed.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex write
|
|
@deftypefn Command {[range]} {w[rite][!]} {[>>] [file]}
|
|
|
|
@deftypefnx Command {[range]} {w[rite]} {[!] [file]}
|
|
@cindex wn
|
|
@deftypefnx Command {[range]} {wn[!]} {[>>] [file]}
|
|
@cindex wq
|
|
@deftypefnx Command {[range]} {wq[!]} {[>>] [file]}
|
|
Write the file.
|
|
The specified lines (the entire file, if no range is given) is written
|
|
to
|
|
@LI{file}.
|
|
If
|
|
@LI{file}is not specified, the current pathname is used.
|
|
If
|
|
@LI{file}is specified, and it exists, or if the current pathname was set using the
|
|
@CO{file}
|
|
command, and the file already exists, these commands will fail.
|
|
Appending a
|
|
@QT{!}
|
|
character to the command name will override this check and the write
|
|
will be attempted, regardless.
|
|
@sp 1
|
|
Specifying the optional
|
|
@QT{>>}
|
|
string will cause the write to be appended to the file, in which case
|
|
no tests are made for the file already existing.
|
|
@sp 1
|
|
If the file is preceded by a
|
|
@QT{!}
|
|
character, the program named by the shell edit option is
|
|
invoked with file as its second argument, and the specified
|
|
lines are passed as standard input to that command.
|
|
The
|
|
@QT{!}
|
|
in this usage must be separated from command name by at least one
|
|
whitespace character.
|
|
The special meaning of the
|
|
@QT{!}
|
|
may be overridden by escaping it with a backslash
|
|
@PQ{\e}
|
|
character.
|
|
@sp 1
|
|
The
|
|
@CO{wq}
|
|
version of the write command will exit the editor after writing the file,
|
|
if there are no further files to edit.
|
|
Appending a
|
|
@QT{!}
|
|
character to the command name or entering two
|
|
@QQ{quit}
|
|
commands (i.e.
|
|
@CO{wq},
|
|
@CO{quit},
|
|
@CO{xit}
|
|
or
|
|
@CO{ZZ})
|
|
in a row) will override this check and the editor will exit,
|
|
ignoring any files that have not yet been edited.
|
|
@sp 1
|
|
The
|
|
@CO{wn}
|
|
version of the write command will move to the next file after writing
|
|
the file, unless the write fails.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{readonly}
|
|
and
|
|
@OP{writeany}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex xit
|
|
@deftypefn Command {[range]} {x[it][!]} {[file]}
|
|
|
|
Write the file if it has been modified.
|
|
The specified lines are written to
|
|
@LI{file},
|
|
if the file has been modified since the last complete write to any
|
|
file.
|
|
If no
|
|
@LI{range}is specified, the entire file is written.
|
|
@sp 1
|
|
The
|
|
@CO{xit}
|
|
command will exit the editor after writing the file,
|
|
if there are no further files to edit.
|
|
Appending a
|
|
@QT{!}
|
|
character to the command name or entering two
|
|
@QQ{quit}
|
|
commands (i.e.
|
|
@CO{wq},
|
|
@CO{quit},
|
|
@CO{xit}
|
|
or
|
|
@CO{ZZ})
|
|
in a row) will override this check and the editor will exit,
|
|
ignoring any files that have not yet been edited.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{readonly}
|
|
and
|
|
@OP{writeany}
|
|
options.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex yank
|
|
@deftypefn Command {[range]} {ya[nk]} {[buffer] [count]}
|
|
|
|
Copy the specified lines to a buffer.
|
|
If no buffer is specified, the unnamed buffer is used.
|
|
@table @asis
|
|
@item Line:
|
|
Unchanged.
|
|
@item Options:
|
|
None.
|
|
@end table
|
|
@end deftypefn
|
|
@cindex z
|
|
@deftypefn Command {[line]} {z} {[type] [count] [flags]}
|
|
|
|
Adjust the window.
|
|
If no
|
|
@LI{type}is specified, then
|
|
@LI{count}lines following the specified line are displayed.
|
|
The default
|
|
@LI{count}is the value of the
|
|
@OP{window}
|
|
option.
|
|
The
|
|
@LI{type}argument changes the position at which
|
|
@LI{line}is displayed on the screen by changing the number of lines
|
|
displayed before and after
|
|
@LI{line}.
|
|
The following
|
|
@LI{type}characters may be used:
|
|
@table @asis
|
|
@item -
|
|
Place the line at the bottom of the screen.
|
|
@item +
|
|
Place the line at the top of the screen.
|
|
@item .
|
|
Place the line in the middle of the screen.
|
|
@item ^
|
|
Write out count lines starting
|
|
@LI{count * 2}lines before
|
|
@LI{line};
|
|
the net effect of this is that a
|
|
@QT{z^}
|
|
command following a
|
|
@CO{z}
|
|
command writes the previous page.
|
|
@item =
|
|
Center
|
|
@LI{line}on the screen with a line of hyphens displayed immediately before and
|
|
after it.
|
|
The number of preceding and following lines of text displayed are
|
|
reduced to account for those lines.
|
|
@end table
|
|
@table @asis
|
|
@item Line:
|
|
Set to the last line displayed, with the exception of the
|
|
@QT{=}
|
|
@LI{type},
|
|
where the current line is set to the line specified by the command.
|
|
@item Options:
|
|
Affected by the
|
|
@OP{scroll}
|
|
option.
|
|
@end table
|
|
@end deftypefn
|