less(1)


NAME
     less, more - opposite of more

SYNOPSIS
     less -?
     less [-[+]aBcCdeEfHimMnNqQrsSuUw]
          [-b bufs] [-h lines] [-j line] [-k keyfile]
          [-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
          [-T tagfile] [-x tab] [-y lines] [-[z] lines]
          [+[+]cmd] [filename]...


DESCRIPTION
     Less is a program similar to more (1), but which allows backward movement
     in  the  file  as  well as forward movement.  Also, less does not have to
     read the entire input file before starting, so with large input files  it
     starts  up  faster  than text editors like vi (1).  Less uses termcap (or
     terminfo on some systems), so it can  run  on  a  variety  of  terminals.
     There  is  even  limited  support for hardcopy terminals.  (On a hardcopy
     terminal, lines which should be printed at the  top  of  the  screen  are
     prefixed with an up-arrow.)

     Commands are based on both more and vi. Commands may  be  preceded  by  a
     decimal  number,  called N in the descriptions below.  The number is used
     by some commands, as indicated.


COMMANDS
     In the following descriptions, ^X means control-X.  ESC  stands  for  the
     ESCAPE  key; for example ESC-v means the two character sequence "ESCAPE",
     then "v".

     h or H
          Help: display a summary of these commands.  If you  forget  all  the
          other commands, remember this one.

     SPACE or ^V or f or ^F
          Scroll forward N lines, default one window (see  option  -z  below).
          If  N  is  more  than  the  screen size, only the final screenful is
          displayed.  Warning: some systems use ^V as a special literalization
          character.

     z    Like SPACE, but if N is specified, it becomes the new window size.

     RETURN or ^N or e or ^E or j or ^J
          Scroll  forward  N  lines,  default  1.   The  entire  N  lines  are
          displayed, even if N is more than the screen size.



     d or ^D
          Scroll forward N lines, default one half of the screen size.   If  N
          is  specified,  it  becomes  the  new default for subsequent d and u
          commands.

     b or ^B or ESC-v
          Scroll backward N lines, default one window (see option  -z  below).
          If  N  is  more  than  the  screen size, only the final screenful is
          displayed.

     w    Like ESC-v, but if N is specified, it becomes the new window size.

     y or ^Y or ^P or k or ^K
          Scroll backward  N  lines,  default  1.   The  entire  N  lines  are
          displayed,  even  if  N is more than the screen size.  Warning: some
          systems use ^Y as a special job control character.

     u or ^U
          Scroll backward N lines, default one half of the screen size.  If  N
          is  specified,  it  becomes  the  new default for subsequent d and u
          commands.

     r or ^R or ^L
          Repaint the screen.

     R    Repaint the screen, discarding any buffered input.   Useful  if  the
          file is changing while it is being viewed.

     F    Scroll forward, and keep trying to read when  the  end  of  file  is
          reached.   Normally  this  command would be used when already at the
          end of the file.  It is a way to monitor the tail of a file which is
          growing  while  it is being viewed.  (The behavior is similar to the
          "tail -f" command.)

     g or < or ESC-<
          Go to line N in the file, default 1 (beginning of file).   (Warning:
          this may be slow if N is large.)

     G or > or ESC->
          Go to line N in the file, default the end of  the  file.   (Warning:
          this  may  be  slow  if  N  is  large,  or if N is not specified and
          standard input, rather than a file, is being read.)

     p or %
          Go to a position N percent into the file.  N should be between 0 and
          100.   (This works if standard input is being read, but only if less
          has already read to the end of the file.  It is always fast, but not
          always useful.)


     {    If a left curly bracket appears in the top  line  displayed  on  the
          screen,  the  { command will go to the matching right curly bracket.
          The matching right curly bracket is positioned on the bottom line of
          the screen.  If there is more than one left curly bracket on the top
          line, a number N may be used to specify  the  N-th  bracket  on  the
          line.

     }    If a right curly bracket appears in the bottom line displayed on the
          screen,  the  }  command will go to the matching left curly bracket.
          The matching left curly bracket is positioned on the top line of the
          screen.   If  there  is more than one right curly bracket on the top
          line, a number N may be used to specify  the  N-th  bracket  on  the
          line.

     (    Like {, but applies to parentheses rather than curly brackets.

     )    Like }, but applies to parentheses rather than curly brackets.

     [    Like {, but applies to square brackets rather than curly brackets.

     ]    Like }, but applies to square brackets rather than curly brackets.

     ESC-^F
          Followed by two characters, acts like {, but uses the two characters
          as open and close brackets, respectively.  For example, "ESC ^F < >"
          could be used to go forward to the > which matches the < in the  top
          displayed line.

     ESC-^B
          Followed by two characters, acts like }, but uses the two characters
          as open and close brackets, respectively.  For example, "ESC ^B < >"
          could be used to go backward to the < which matches  the  >  in  the
          bottom displayed line.

     m    Followed by any lowercase letter, marks the  current  position  with
          that letter.

     '    (Single quote.)  Followed by any lowercase letter,  returns  to  the
          position  which was previously marked with that letter.  Followed by
          another single quote, returns to the  position  at  which  the  last
          "large"  movement command was executed.  Followed by a ^ or $, jumps
          to the beginning  or  end  of  the  file  respectively.   Marks  are
          preserved  when a new file is examined, so the ' command can be used
          to switch between input files.

     ^X^X Same as single quote.




     /pattern
          Search forward in the file for the N-th line containing the pattern.
          N defaults to 1.  The pattern is a regular expression, as recognized
          by ed. The search starts at the second line displayed (but  see  the
          -a and -j options, which change this).

          Certain characters are special if entered at the  beginning  of  the
          pattern;  they  modify the type of search rather than become part of
          the pattern:

     !    Search for lines which do NOT match the pattern.

     *    Search multiple files.  That is, if the search reaches  the  end  of
          the  current  file  without finding a match, the search continues in
          the next file in the command line list.

     @    Begin the search at the first line of the first file in the  command
          line  list,  regardless of what is currently displayed on the screen
          or the settings of the -a or -j options.

     ?pattern
          Search backward in  the  file  for  the  N-th  line  containing  the
          pattern.   The  search starts at the line immediately before the top
          line displayed.

          Certain characters are special as in the / command:

     !    Search for lines which do NOT match the pattern.

     *    Search multiple files.  That is, if the search reaches the beginning
          of the current file without finding a match, the search continues in
          the previous file in the command line list.

     @    Begin the search at the last line of the last file  in  the  command
          line  list,  regardless of what is currently displayed on the screen
          or the settings of the -a or -j options.

     ESC-/pattern
          Same as "/*".

     ESC-?pattern
          Same as "?*".

     n    Repeat previous search, for N-th line containing the  last  pattern.
          If the previous search was modified by !, the search is made for the
          N-th line NOT containing the pattern.  If the  previous  search  was
          modified  by  *, the search continues in the next (or previous) file
          if not satisfied in the current file.  There is  no  effect  if  the
          previous search was modified by @.

     N    Repeat previous search, but in the reverse direction.

     ESC-n
          Repeat previous search, but crossing file boundaries.  The effect is
          as if the previous search were modified by *.

     ESC-N
          Repeat previous search, but in the reverse  direction  and  crossing
          file boundaries.

     :e [filename]
          Examine a new file.  If the filename is missing, the "current"  file
          (see  the  :n  and  :p commands below) from the list of files in the
          command line is re-examined.  A percent sign (%) in the filename  is
          replaced  by  the  name  of  the  current  file. A pound sign (#) is
          replaced by the name of the previously examined file.  The  filename
          is  inserted  into  the command line list of files so that it can be
          seen by subsequent :n and :p commands.  If the filename consists  of
          several  files, they are all inserted into the list of files and the
          first one is examined.

     ^X^V or E
          Same  as  :e.   Warning:  some  systems  use   ^V   as   a   special
          literalization character.

     :n   Examine the next file (from the list of files given in  the  command
          line).  If a number N is specified, the N-th next file is examined.

     :p   Examine the previous file in the command line list.  If a  number  N
          is specified, the N-th previous file is examined.

     :x   Examine the first file in the command line list.  If a number  N  is
          specified, the N-th file in the list is examined.

     = or ^G or :f
          Prints some information about the file being viewed,  including  its
          name  and  the  line number and byte offset of the bottom line being
          displayed.  If possible, it also prints the length of the file,  the
          number  of  lines  in the file and the percent of the file above the
          last displayed line.

     -    Followed by one of the command line option letters (see below), this
          will  change  the  setting  of  that  option  and  print  a  message
          describing the new setting.  If the  option  letter  has  a  numeric
          value  (such  as  -b or -h), or a string value (such as -P or -t), a
          new value may be entered after the option letter.  If no  new  value
          is  entered, a message describing the current setting is printed and
          nothing is changed.


     -+   Followed by one of the command line option letters (see below), this
          will  reset  the  option  to its default setting and print a message
          describing the new setting.  (The "-+X" command does the same  thing
          as "-+X" on the command line.)  This does not work for string-valued
          options.

     --   Followed by one of the command line option letters (see below), this
          will  reset  the option to the "opposite" of its default setting and
          print a message describing the new setting.  (The "--X" command does
          the same thing as "-X" on the command line.)  This does not work for
          numeric or string-valued options.

     _    (Underscore.)  Followed by one of the command  line  option  letters
          (see  below),  this  will  print  a  message  describing the current
          setting of that option.  The setting of the option is not changed.

     +cmd Causes the specified cmd to be executed each  time  a  new  file  is
          examined.   For  example,  +G  causes less to initially display each
          file starting at the end rather than the beginning.

     V    Prints the version number of less being run.

     q or :q or :Q or ZZ or ESC ESC
          Exits less.

     The following three commands may or may not be valid, depending  on  your
     particular installation.

     v    Invokes an editor to edit the current file being viewed.  The editor
          is  taken from the environment variable EDITOR, or defaults to "vi".
          See also the discussion of LESSEDIT under  the  section  on  PROMPTS
          below.

     ! shell-command
          Invokes a shell to run the shell-command given.  A percent sign  (%)
          in  the command is replaced by the name of the current file. A pound
          sign (#) is replaced by the name of the  previously  examined  file.
          "!!"  repeats  the  last  shell  command.  "!" with no shell command
          simply invokes a shell.  In all cases, the shell is taken  from  the
          environment variable SHELL, or defaults to "sh".

     | <m> shell-command
          <m> represents any mark letter.  Pipes a section of the  input  file
          to  the given shell command.  The section of the file to be piped is
          between the first line on the current screen and the position marked
          by  the letter.  <m> may also be ^ or $ to indicate beginning or end
          of file respectively.  If <m> is . or newline, the current screen is
          piped.


OPTIONS
     Command line options are described below.  Most options  may  be  changed
     while less is running, via the "-" command.

     Options are  also  taken  from  the  environment  variable  "LESS".   For
     example,  to  avoid typing "less -options ..." each time less is invoked,
     you might tell csh:

     setenv LESS "-options"

     or if you use sh:

     LESS="-options"; export LESS

     The environment variable is parsed before the command  line,  so  command
     line  options  override  the  LESS  environment  variable.   If an option
     appears in the LESS variable, it can be  reset  to  its  default  on  the
     command line by beginning the command line option with "-+".

     A dollar sign ($) may be used to signal the  end  of  an  option  string.
     This is important only for options like -P which take a following string.

     -?   This option displays a summary of the commands accepted by less (the
          same  as the h command).  If this option is given, all other options
          are ignored, and  less  exits  after  the  help  screen  is  viewed.
          (Depending on how your shell interprets the question mark, it may be
          necessary to quote the question mark, thus: "-\?".)

     -a   Causes searches to start  after  the  last  line  displayed  on  the
          screen,  thus  skipping  all  lines  displayed  on  the  screen.  By
          default, searches start at the second line on the screen  (or  after
          the last found line; see the -j option).

     -bn  Causes less to use a non-standard number of  buffers.   Buffers  are
          1K,  and  by  default  10 buffers are used (except if data in coming
          from standard input; see the -B option).  The number n  specifies  a
          different number of buffers to use.

     -B   Disables automatic allocation of buffers, so that only  the  default
          number  of  buffers are used.  If more data is read than will fit in
          the buffers, the oldest data is discarded.  By default, when data is
          coming  from  standard input, buffers are allocated automatically as
          needed to avoid loss of data.

     -c   Causes full screen repaints to be painted from the  top  line  down.
          By  default,  full  screen  repaints  are done by scrolling from the
          bottom of the screen.



     -C   The -C option is like -c, but the screen is  cleared  before  it  is
          repainted.

     -d   The -d option suppresses the error message normally displayed if the
          terminal  is dumb; that is, lacks some important capability, such as
          the ability to clear the screen or scroll backward.  The  -d  option
          does not otherwise change the behavior of less on a dumb terminal).

     -e   Causes less to automatically exit the second time it reaches end-of-
          file.  By default, the only way to exit less is via the "q" command.

     -E   Causes less to automatically exit the first time it reaches  end-of-
          file.

     -f   Forces non-regular files to be opened.  (A  non-regular  file  is  a
          directory  or  a  device special file.)  Also suppresses the warning
          message when a binary file is opened.  By default, less will  refuse
          to open non-regular files.

     -hn  Specifies a maximum number of lines to scroll backward.   If  it  is
          necessary  to  scroll  backward  more  than  n  lines, the screen is
          repainted in a forward direction instead.  (If the terminal does not
          have the ability to scroll backward, -h0 is implied.)

     -i   Causes searches to ignore case; that is, uppercase and lowercase are
          considered  identical.   This  option  is  ignored  if any uppercase
          letters appear in the search pattern.

     -jn  Specifies a line on the  screen  where  "target"  lines  are  to  be
          positioned.   Target  lines  are  the  object  of text searches, tag
          searches, jumps to a line number, jumps to a  file  percentage,  and
          jumps  to  a  marked  position.   The  screen line is specified by a
          number: the top line on the screen is 1, the next is 2, and  so  on.
          The  number may be negative to specify a line relative to the bottom
          of the screen: the bottom line on the screen is -1,  the  second  to
          the  bottom  is  -2,  and so on.  If the -j option is used, searches
          begin at the line immediately after the target line.   For  example,
          if  "-j4" is used, the target line is the fourth line on the screen,
          so searches begin at the fifth line on the screen.

     -kfilename
          Causes less to open and interpret the named file as  a  lesskey  (1)
          file.  Multiple -k options may be specified.  If a file called .less
          exists in the user's home directory, this file is  also  used  as  a
          lesskey file.

     -m   Causes less to prompt verbosely (like more), with the  percent  into
          the file.  By default, less prompts with a colon.


     -M   Causes less to prompt even more verbosely than more.

     -n   Suppresses line numbers.  The default  (to  use  line  numbers)  may
          cause  less to run more slowly in some cases, especially with a very
          large input file.  Suppressing line numbers with the  -n  flag  will
          avoid  this problem.  Using line numbers means: the line number will
          be displayed in the verbose prompt and in the = command, and  the  v
          command  will  pass  the current line number to the editor (see also
          the discussion of LESSEDIT in PROMPTS below).

     -N   Causes a line number to be displayed at the beginning of  each  line
          in the display.

     -ofilename
          Causes less to copy its input to the  named  file  as  it  is  being
          viewed.   This  applies  only  when the input file is a pipe, not an
          ordinary file.  If the  file  already  exists,  less  will  ask  for
          confirmation before overwriting it.

     -Ofilename
          The -O option is like -o, but it will  overwrite  an  existing  file
          without asking for confirmation.

          If no log file has been specified, the -o and -O options can be used
          from  within  less to specify a log file.  Without a file name, they
          will simply report the name of the log file.   The  "s"  command  is
          equivalent to specifying -o from within less.

     -ppattern
          The -p option on  the  command  line  is  equivalent  to  specifying
          +/pattern; that is, it tells less to start at the first occurence of
          pattern in the file.

     -Pprompt
          Provides a way to  tailor  the  three  prompt  styles  to  your  own
          preference.    This  option  would  normally  be  put  in  the  LESS
          environment variable, rather than being  typed  in  with  each  less
          command.   Such an option must either be the last option in the LESS
          variable, or be terminated by a  dollar  sign.   -P  followed  by  a
          string  changes  the  default  (short)  prompt  to that string.  -Pm
          changes the medium (-m) prompt to the string, and  -PM  changes  the
          long  (-M)  prompt.   Also, -P= changes the message printed by the =
          command to the given  string.   All  prompt  strings  consist  of  a
          sequence  of  letters and special escape sequences.  See the section
          on PROMPTS for more details.

     -q   Causes moderately "quiet" operation:  the terminal bell is not  rung
          if  an  attempt is made to scroll past the end of the file or before
          the beginning of the file.  If the terminal has a "visual bell",  it
          is  used  instead.   The  bell will be rung on certain other errors,
          such as typing an invalid character.  The default  is  to  ring  the
          terminal bell in all such cases.

     -Q   Causes totally "quiet" operation:  the terminal bell is never rung.

     -r   Causes "raw" control characters to be displayed.  The default is  to
          display  control characters using the caret notation; for example, a
          control-A (octal 001) is displayed as "^A".  Warning:  when  the  -r
          flag is used, less cannot keep track of the actual appearance of the
          screen (since this depends on how the screen responds to  each  type
          of  control  character).  Thus, various display problems may result,
          such as long lines being split in the wrong place.

     -s   Causes consecutive blank lines to be squeezed into  a  single  blank
          line.  This is useful when viewing nroff output.

     -S   Causes lines longer than the screen width to be chopped rather  than
          folded.   That is, the remainder of a long line is simply discarded.
          The default is to fold long lines; that is, display the remainder on
          the next line.

     -ttag
          The -t option, followed immediately by a TAG,  will  edit  the  file
          containing  that tag.  For this to work, there must be a file called
          "tags" in the current directory, which was previously built  by  the
          ctags  (1)  command.   This option may also be specified from within
          less (using the - command) as a way of examining a  new  file.   The
          command ":t" is equivalent to specifying -t from within less.

     -Ttagsfile
          Specifies a tags file to be used instead of "tags".

     -u   Causes backspaces and carriage returns to be  treated  as  printable
          characters;  that is, they are sent to the terminal when they appear
          in the input.

     -U   Causes backspaces and carriage returns  to  be  treated  as  control
          characters; that is, they are handled as specified by the -r option.

          By default, if neither -u nor -U is given, backspaces  which  appear
          adjacent  to  an  underscore  character  are treated specially:  the
          underlined  text  is  displayed  using   the   terminal's   hardware
          underlining  capability.   Also, backspaces which appear between two
          identical characters are treated specially: the overstruck  text  is
          printed  using  the  terminal's hardware boldface capability.  Other
          backspaces  are  deleted,  along  with  the   preceding   character.
          Carriage  returns  immediately  followed  by  a newline are deleted.
          Other carriage returns are handled as specified by the -r option.


     -w   Causes blank lines to be used to represent lines past the end of the
          file.  By default, a tilde character is used.

     -xn  Sets tab stops every n positions.  The default for n is 8.

     -yn  Specifies a maximum number of lines to scroll  forward.   If  it  is
          necessary  to  scroll  forward  more  than  n  lines,  the screen is
          repainted instead.  The -c or -C option may be used to repaint  from
          the  top of the screen if desired.  By default, any forward movement
          causes scrolling.

     -[z]n
          Changes the default scrolling window size to n lines.   The  default
          is  one  screenful.  The z and w commands can also be used to change
          the  window  size.   The  "z"  may  be  omitted,  as  in  "-n"   for
          compatibility with more.

     +    If a command line option begins with +, the remainder of that option
          is  taken  to  be  an initial command to less. For example, +G tells
          less to start at the end of the file rather than the beginning,  and
          +/xyz  tells  it  to  start  at the first occurrence of "xyz" in the
          file.  As a special case, +<number> acts like +<number>g;  that  is,
          it starts the display at the specified line number (however, see the
          caveat under the "g" command above).  If the option starts with  ++,
          the initial command applies to every file being viewed, not just the
          first one.  The + command described previously may also be  used  to
          set (or change) an initial command for every file.


KEY BINDINGS
     You may define your own less commands by using the program lesskey (1) to
     create a file called ".less" in your home directory.  This file specifies
     a set of command keys and an action associated with each  key.   See  the
     lesskey manual page for more details.


NATIONAL CHARACTER SETS
     There are three types of characters in the input file:

     normal characters
          can be displayed directly to the screen.

     control characters
          should not be displayed directly, but are expected to  be  found  in
          ordinary text files (such as backspace and tab).

     binary characters
          cannot be displayed directly and are not expected  to  be  found  in
          text files.

     By default, less uses the ASCII character set.  In  the  ASCII  character
     set,  characters  with  values between 128 and 255 are treated as binary.
     The LESSCHARSET environment  variable  may  be  used  to  select  another
     character  set.   If  it  is  set  to  the value "latin1", the ISO 8859/1
     character  set  is  assumed.   Latin-1  is  the  same  as  ASCII,  except
     characters  between  128  and  255 are treated as normal characters.  The
     only valid values for LESSCHARSET currently are "ascii" and "latin1".

     In special cases, it may be desired to tailor less to use a character set
     other  than  the  ones  definable  by  LESSCHARSET.   In  this  case, the
     environment variable LESSCHARDEF can be used to define a  character  set.
     It  should  be  set  to  a  string  where  each  character  in the string
     represents one character in the character set.  The character "." is used
     for  a  normal character, "c" for control, and "b" for binary.  A decimal
     number may be used for repetition.  For  example,  "bccc4b."  would  mean
     character  0 is binary, 1, 2 and 3 are control, 4, 5, 6 and 7 are binary,
     and 8 is normal.  All characters after the last are taken to be the  same
     as  the  last,  so characters 9 through 255 would be normal.  (This is an
     example, and does not necessarily represent any real character set.)

     Setting  LESSCHARDEF  to  "8bcccbcc18b95.b"  is  the  same   as   setting
     LESSCHARSET  to  "ascii".  Setting LESSCHARDEF to "8bcccbcc18b95.33b." is
     the same as setting LESSCHARSET to "latin1".

     Control and binary characters are displayed in blinking mode.  Each  such
     character  is  displayed  in  caret  notation  if  possible  (e.g. ^A for
     control-A).  Caret notation is  used  only  if  inverting  the  0100  bit
     results  in  a  normal  printable character.  Otherwise, the character is
     displayed as an octal number preceded by a backslash.  This octal  format
     can  be  changed  by  setting  the  LESSBINFMT  environment variable to a
     printf-style format string; the default  is  '\%o'.   The  blinking  mode
     display  of  control  and binary characters can be changed or disabled by
     preceding the LESSBINFMT format string with a "*" and  one  character  to
     select the mode:  "*k" is blinking, "*d" is bold, "*u" is underlined, and
     "*n"  is  normal  (no  special  display  attribute).   For  example,   if
     LESSBINFMT  is  "*u[%x]",  binary  characters are displayed in underlined
     hexadecimal surrounded by brackets.


PROMPTS
     The -P option allows you to tailor the prompt to  your  preference.   The
     string  given  to  the  -P  option  replaces the specified prompt string.
     Certain characters in the string are interpreted specially.   The  prompt
     mechanism  is rather complicated to provide flexibility, but the ordinary
     user need not understand the details of constructing personalized  prompt
     strings.

     A percent sign followed by a single character is  expanded  according  to
     what the following character is:

     %bX  Replaced by the byte offset into the current input file.  The  b  is
          followed  by  a  single character (shown as X above) which specifies
          the line whose byte offset is to be used.  If  the  character  is  a
          "t",  the byte offset of the top line in the display is used, an "m"
          means use the middle line, a "b" means use the bottom  line,  a  "B"
          means  use  the line just after the bottom line, and a "j" means use
          the "target" line, as specified by the -j option.

     %B   Replaced by the size of the current input file.

     %E   Replaced by the name of the  editor  (from  the  EDITOR  environment
          variable).  See the discussion of the LESSEDIT feature below.

     %f   Replaced by the name of the current input file.

     %i   Replaced by the index of the current  file  in  the  list  of  input
          files.

     %lX  Replaced by the line number of a line in the input file.   The  line
          to be used is determined by the X, as with the %b option.

     %L   Replaced by the line number of the last line in the input file.

     %m   Replaced by the total number of input files.

     %pX  Replaced by the percent into the current input file.  The line  used
          is determined by the X as with the %b option.

     %s   Same as %B.

     %t   Causes any trailing spaces to be removed.  Usually used at  the  end
          of the string, but may appear anywhere.

     %x   Replaced by the name of the next input file in the list.

     If any item is unknown (for example, the file size if input is a pipe), a
     question mark is printed instead.

     The format of the prompt string  can  be  changed  depending  on  certain
     conditions.   A question mark followed by a single character acts like an
     "IF":  depending on the following character, a  condition  is  evaluated.
     If  the condition is true, any characters following the question mark and
     condition character, up to a period, are included in the prompt.  If  the
     condition  is false, such characters are not included.  A colon appearing
     between the question mark and the period can  be  used  to  establish  an
     "ELSE":  any  characters between the colon and the period are included in
     the string  if  and  only  if  the  IF  condition  is  false.   Condition
     characters (which follow a question mark) may be:


     ?a   True if any characters have been included in the prompt so far.

     ?bX  True if the byte offset of the specified line is known.

     ?B   True if the size of current input file is known.

     ?e   True if at end-of-file.

     ?f   True if there is an input filename (that  is,  if  input  is  not  a
          pipe).

     ?lX  True if the line number of the specified line is known.

     ?L   True if the line number of the last line in the file is known.

     ?m   True if there is more than one input file.

     ?n   True if this is the first prompt in a new input file.

     ?pX  True if the percent into the current input  file  of  the  specified
          line is known.

     ?s   Same as "?B".

     ?x   True if there is a next input file (that is, if  the  current  input
          file is not the last one).

     Any characters other than the special ones (question mark, colon, period,
     percent,  and backslash) become literally part of the prompt.  Any of the
     special characters may be included in the prompt literally  by  preceding
     it with a backslash.

     Some examples:

     ?f%f:Standard input.

     This prompt prints the filename, if known; otherwise the string "Standard
     input".

     ?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...

     This prompt would print the filename, if known.  The filename is followed
     by  the  line number, if known, otherwise the percent if known, otherwise
     the byte offset if known.  Otherwise, a dash is printed.  Notice how each
     question  mark  has  a  matching  period,  and how the % after the %pt is
     included literally by escaping it with a backslash.

     ?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x..%t

     This prints the filename if this is the first prompt in a file,  followed
     by the "file N of N" message if there is more than one input file.  Then,
     if  we  are at end-of-file, the string "(END)" is printed followed by the
     name of the next file, if there is one.  Finally, any trailing spaces are
     truncated.   This  is  the  default  prompt.  For reference, here are the
     defaults for the other two prompts (-m and  -M  respectively).   Each  is
     broken into two lines here for readability only.

     ?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x.:
             ?pB%pB\%:byte %bB?s/%s...%t

     ?f%f .?n?m(file %i of %m) ..?ltline %lt?L/%L. :byte %bB?s/%s. .
             ?e(END) ?x- Next\: %x.:?pB%pB\%..%t

     And here is the default message produced by the = command:

     ?f%f .?m(file %i of %m) .?ltline %lt?L/%L. .
             byte %bB?s/%s. ?e(END) :?pB%pB\%..%t

     The prompt expansion features are also used for another purpose:   if  an
     environment variable LESSEDIT is defined, it is used as the command to be
     executed when the v command is invoked.  The LESSEDIT string is  expanded
     in  the  same  way as the prompt strings.  The default value for LESSEDIT
     is:

             %E ?lm+%lm. %f

     Note that this expands to the editor name, followed by a + and  the  line
     number,  followed  by  the file name.  If your editor does not accept the
     "+linenumber" syntax, or has other differences in invocation syntax,  the
     LESSEDIT variable can be changed to modify this default.


ENVIRONMENT VARIABLES

     COLUMNS
          Sets the number of columns on the screen.  Takes precedence over the
          number of columns specified by the TERM variable.

     EDITOR
          The name of the editor (used for the v command).

     HOME Name of the user's home directory (used to find a .less file).

     LESS Flags which are passed to less automatically.

     LESSBINFMT
          Format for displaying non-printable, non-control characters.



     LESSCHARDEF
          Defines a character set.

     LESSCHARSET
          Selects a predefined character set.

     LESSEDIT
          Editor prototype string (used for the v  command).   See  discussion
          under PROMPTS.

     LESSHELP
          Name of the help file.

     LINES
          Sets the number of lines on the screen.  Takes precedence  over  the
          number of lines specified by the TERM variable.

     SHELL
          The shell used to execute the  !  command,  as  well  as  to  expand
          filenames.

     TERM The type of terminal on which less is being run.


SEE ALSO
     lesskey(1)


WARNINGS
     The = command and prompts (unless changed by -P) report the  line  number
     of  the  line  at  the top of the screen, but the byte and percent of the
     line at the bottom of the screen.

     If the :e command is used to name more than one  file,  and  one  of  the
     named files has been viewed previously, the new files may be entered into
     the list in an unexpected order.

     The handling of  national  character  sets  is  nonstandard  as  well  as
     insufficient  for  multibyte  characters.   It  will probably change in a
     later release.