NAME
yap, more - yet another pager
SYNOPSIS
yap [-cnuq] [-n] [+command] [file ...]
DESCRIPTION
Yap is a program allowing the user to examine a continuous
text one screenful at a time on a video display terminal.
It does so by pausing after each screenful, waiting for the
user to type a command. The commands are enumerated later.
Yap's main feature is, that it can page both forwards and
backwards, even when reading from standard input.
The command line options are:
-n An integer which is the size (in lines) of a page (the
initial page-size.
-c Normally, yap will display each page by beginning at
the top of the screen and erasing each line just before
it displays on it. If your terminal cannot erase a
line, yap will clear the screen before it displays a
page.
This avoids scrolling the screen, making it easier to
read while yap is writing. The -c option causes yap to
scroll the screen instead of beginning at the top of
the screen. This is also done if your terminal cannot
either erase a line or clear the screen.
-u Normally, yap handles underlining such as produced by
nroff in a manner appropriate to the particular termi-
nal: if the terminal can perform underlining well
(t.i., the escape sequences for underlining do not
occupy space on the screen), yap will underline under-
lined information in the input. The -u option supresses
this underlining.
-n Normally, yap also recognises escape sequences for
stand-out mode or underlining mode in the input, and
knows how much space these escape sequences will occupy
on the screen, so that yap will not fold lines errone-
ously. The -n option supresses this pattern matching.
-q This option will cause yap to exit only on the "quit"
command.
+command
command is taken to be an initial command to yap.
Yap looks in the YAP environment variable to pre-set flags.
For instance, if you prefer the -c mode of operation, just
set the YAP environment variable to -c.
The commands of yap can be bound to sequences of keystrokes.
The environment variable YAPKEYS may contain the bindings in
the form of a list of colon-separated `name=sequence' pairs.
The name is a short mnemonic for the command, the sequence
is the sequence of keystrokes to be typed to invoke the com-
mand. This sequence may contain a ^X escape, which means
control-X, and a \X escape, which means X. The latter can be
used to get the characters `^', `\' and `:' in the sequence.
There are two keymaps available, the default one and a
user-defined one. You can switch between one and the other
with the change keymap command.
The yap commands are described below. The mnemonics for the
commands are given in parentheses. The default key sequences
(if any) are given after the mnemonic. Every command takes
an optional integer argument, which may be typed before the
command. Some commands just ignore it. The integer argument
is referred to as i. Usually, if i is not given, it
defaults to 1.
visit previous file (bf) P
Visit the i-th previous file given in the command line.
scroll one line up or go to line (bl) ^K or k
If i is not given, scroll one line up. Otherwise, i
will be interpreted as a line number. A page starting
with the line indicated will then be displayed.
bottom (bot) l or $
Go to the last line of the input.
display previous page (bp) -
Display the previous page, consisting of i lines, (or
page-size lines if no argument is given).
display previous page and set pagesize (bps) Z
Display the previous page, consisting of i lines, (or
page-size lines if no argument is given). If i is
given, the page-size is set to i.
scroll up (bs) ^B
Scroll up i lines (or scroll-size lines if i is not
given. Initially, the scroll-size is 11).
search backwards for pattern (bse) ?
Search backwards for the i-th occurrence of a regular
expression which will be prompted for. If there are
less than i occurrences of the expression, the position
in the file remains unchanged. Otherwise, a page is
displayed, starting two lines before the place where
the expression was found. The user's erase and kill
characters may be used to edit the expression. Erasing
back past the first character cancels the search com-
mand.
Note: Some systems do not have regex(3). On those sys-
tems, searches are still supported, but regular expres-
sions are not.
skip lines backwards (bsl) S
Skip i lines backwards and display a page.
skip pages backwards (bsp) F
Skip i pages backwards and display a page.
scroll up and set scrollsize (bss) b
Scroll up i lines (or scroll-size lines if i is not
given. If i is given, the scroll-size is set to i.
change key map (chm) X
Change from the current key map to the other (if there
is one).
exchange current page and mark (exg) x
Set the mark to the current page, and display the pre-
viously marked page.
visit next file (ff) N
Visit the i-th next file given in the command line.
scroll one line down or go to line (fl) ^J or ^M or j
If i is not given, scroll one line down. Otherwise, i
will be interpreted as a line number. A page starting
with the line indicated will then be displayed.
display next page (fp) <space>
Display the next page, consisting of i lines, (or
page-size lines if no argument is given).
display next page and set pagesize (fps) z
Display the next page, consisting of i lines, (or
page-size lines if no argument is given). If i is
given, the page-size is set to i.
scroll down (fs) ^D
Scroll down i lines (or scroll-size lines if no argu-
ment is given).
search forwards for pattern (fse) /
Search forwards for the i-th occurrence of a regular
expression which will be prompted for. If there are
less than i occurrences of the expression, the position
in the file remains unchanged. Otherwise, a page is
displayed, starting two lines before the place where
the expression was found. The user's erase and kill
characters may be used to edit the expression. Erasing
back past the first character cancels the search com-
mand.
Note: Some systems do not have regex(3). On those sys-
tems, searches are still supported, but regular expres-
sions are not.
skip lines forwards (fsl) s
Skip i lines and display a page.
skip pages forwards (fsp) f
Skip i pages and display a page.
scroll down and set scrollsize (fss) d
Scroll down i lines (or scroll-size lines if i is not
given. If i is given, the scroll-size is set to i.
help (hlp) h
Give a short description of all commands that are bound
to a key sequence.
set a mark (mar) m
Set a mark on the current page.
repeat last search (nse) n
Search for the i-th occurrence of the last regular
expression entered, in the direction of the last
search.
repeat last search in other direction (nsr) r
Search for the i-th occurrence of the last regular
expression entered, but in the other direction.
quit (qui) Q or q
Exit from yap.
redraw (red) ^L
Redraw the current page.
repeat (rep) .
Repeat the last command. This does not always make
sense, so not all commands can be repeated.
shell escape (shl) !
Invoke the shell with a command that will be prompted
for. In the command, the characters `%' and `!' are
replaced with the current file name and the previous
shell command respectively. The sequences `\%' and
`\!' are replaced by `%' and `!' respectively. The
user's erase and kill characters can be used to edit
the command. Erasing back past the first character
cancels the command.
pipe to shell command (pip) |
Pipe the current input file into a shell command that
will be prompted for. The comments given in the
description of the shell escape command apply here too.
go to mark (tom) '
Display the marked page.
top (top) ^^
Display a page starting with the first line of the
input.
visit file (vis) e
Visit a new file. The filename will be prompted for. If
you just type a return, the current file is revisited.
write input to a file (wrf) w
Write the input to a file, whose name will be prompted
for.
The commands take effect immediately, i.e., it is not neces-
sary to type a carriage return. Up to the time when the
command sequence itself is given, the user may give an
interrupt to cancel the command being formed.
AUTHOR
Ceriel J.H. Jacobs
SEE ALSO
regex(3).
BUGS
Yap will find your terminal very stupid and act like it, if
it has no way of placing the cursor on the home position, or
cannot either erase a line or insert one.
In lines longer than about 2000 characters, a linefeed is
silently inserted.
The percentage, given in the prompt when yap reads from a
file (and knows it), is not always very accurate.