# yap(1)

## NAME

         yap, more - yet another pager

## SYNOPSIS

         yap [ -cnuq ] [ -n ] [ +command ] [ name ...  ]

## 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 terminal: if the terminal can
              perform underlining well (t.i., the escape sequences for underlining
              do  not  occupy  space on the screen), yap will underline underlined
              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
              erroneously.  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 uses the termcap(5) database to determine the  terminal  capabilities
         and the default page-size.  It examines the $TERM environment variable to
         identify the terminal type.  If $TERM is not set, it  defaults  to  dumb.
         Yap  Also  examines  the  $TERMCAP  environment  variable  to  locate the
         termcap(5)  database.   If  $TERMCAP  is  not   set,   it   defaults   to
         /etc/termcap.

         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 command.  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 command.
              Note: Some systems do not have regex(3).  On those systems, searches
              are still supported, but regular expressions 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) ^[
              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 previously  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 argument 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 command.
              Note: Some systems do not have regex(3).  On those systems, searches
              are still supported, but regular expressions 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 necessary 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

## FILES

         /etc/termcap            Terminal capabilities data base

## SEE ALSO

         termcap(5), 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.