LESS(1)                                                                LESS(1)



NNAAMMEE
       less - opposite of more

SSYYNNOOPPSSIISS
       lleessss --??
       lleessss ----hheellpp
       lleessss --VV
       lleessss ----vveerrssiioonn
       lleessss [[--[[++]]aaBBccCCddeeEEffFFggGGiiIIJJKKLLmmMMnnNNqqQQrrRRssSSuuUUVVwwWWXX~~]]
            [[--bb _s_p_a_c_e]] [[--hh _l_i_n_e_s]] [[--jj _l_i_n_e]] [[--kk _k_e_y_f_i_l_e]]
            [[--{{ooOO}} _l_o_g_f_i_l_e]] [[--pp _p_a_t_t_e_r_n]] [[--PP _p_r_o_m_p_t]] [[--tt _t_a_g]]
            [[--TT _t_a_g_s_f_i_l_e]] [[--xx _t_a_b,,......]] [[--yy _l_i_n_e_s]] [[--[[zz]] _l_i_n_e_s]]
            [[--## _s_h_i_f_t]] [[++[[++]]_c_m_d]] [[----]] [[_f_i_l_e_n_a_m_e]]......
       (See  the  OPTIONS section for alternate option syntax with long option
       names.)


DDEESSCCRRIIPPTTIIOONN
       _L_e_s_s is a program similar to _m_o_r_e (1), but which allows backward  move-
       ment in the file as well as forward movement.  Also, _l_e_s_s does not have
       to read the entire input file before  starting,  so  with  large  input
       files  it  starts  up  faster than text editors like _v_i (1).  _L_e_s_s 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 a caret.)

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


CCOOMMMMAANNDDSS
       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  spe-
              cial literalization character.

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

       ESC-SPACE
              Like SPACE, but scrolls a full screenful,  even  if  it  reaches
              end-of-file in the process.

       RETURN or ^N or e or ^E or j or ^J
              Scroll  forward N lines, default 1.  The entire N lines are dis-
              played, 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 dis-
              played, 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.

       ESC-) or RIGHTARROW
              Scroll  horizontally right N characters, default half the screen
              width (see the -# option).  If  a  number  N  is  specified,  it
              becomes  the  default  for  future RIGHTARROW and LEFTARROW com-
              mands.  While the text is scrolled, it acts  as  though  the  -S
              option (chop lines) were in effect.

       ESC-( or LEFTARROW
              Scroll  horizontally  left N characters, default half the screen
              width (see the -# option).  If  a  number  N  is  specified,  it
              becomes  the  default  for  future RIGHTARROW and LEFTARROW com-
              mands.

       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).  (Warn-
              ing: 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.   (Warn-
              ing:  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.

       {      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 brack-
              ets.

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

       ESC-^F Followed  by two characters, acts like {, but uses the two char-
              acters 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  char-
              acters  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.  Fol-
              lowed 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 ' com-
              mand 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 pat-
              tern.  N defaults to 1.  The pattern is a regular expression, as
              recognized by the regular expression library  supplied  by  your
              system.  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:

              ^N or !
                     Search for lines which do NOT match the pattern.

              ^E or *
                     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.

              ^F or @
                     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.

              ^K     Highlight any text which matches the pattern on the  cur-
                     rent screen, but don't move to the first match (KEEP cur-
                     rent position).

              ^R     Don't interpret regular expression  metacharacters;  that
                     is, do a simple textual comparison.

       ?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:

              ^N or !
                     Search for lines which do NOT match the pattern.

              ^E or *
                     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.

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

              ^K     As in forward searches.

              ^R     As in forward searches.

       ESC-/pattern
              Same as "/*".

       ESC-?pattern
              Same as "?*".

       n      Repeat  previous  search, for N-th line containing the last pat-
              tern.  If the previous search was modified by ^N, the search  is
              made  for the N-th line NOT containing the pattern.  If the pre-
              vious search was modified by ^E, the  search  continues  in  the
              next  (or  previous)  file if not satisfied in the current file.
              If the previous search was modified by ^R, the  search  is  done
              without  using  regular  expressions.  There is no effect if the
              previous search was modified by ^F or ^K.

       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 cross-
              ing file boundaries.

       ESC-u  Undo search highlighting.   Turn  off  highlighting  of  strings
              matching the current search pattern.  If highlighting is already
              off because of a previous ESC-u command, turn highlighting  back
              on.   Any  search  command  will also turn highlighting back on.
              (Highlighting can also be disabled by toggling the -G option; in
              that case search commands do not turn highlighting back on.)

       :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.   However,  two  consecutive  percent  signs  are   simply
              replaced with a single percent sign.  This allows you to enter a
              filename that contains a percent sign in the  name.   Similarly,
              two  consecutive  pound  signs  are replaced with a single pound
              sign.  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.  If the
              filename contains one or more spaces, the entire filename should
              be enclosed in double quotes (also see the -" option).

       ^X^V or E
              Same  as :e.  Warning: some systems use ^V as a special literal-
              ization character.  On such systems, you may not be able to  use
              ^V.

       :n     Examine  the next file (from the list of files given in the com-
              mand 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.

       :d     Remove the current file from the list of files.

       t      Go  to the next tag, if there were more than one matches for the
              current tag.  See the -t option for more details about tags.

       T      Go to the previous tag, if there were more than one matches  for
              the current tag.

       = 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 OPTIONS
              below), this will change the setting of that option and print  a
              message  describing  the  new  setting.   If a ^P (CONTROL-P) is
              entered immediately after the dash, the setting of the option is
              changed  but  no message is printed.  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  set-
              ting is printed and nothing is changed.

       --     Like  the  -  command, but takes a long option name (see OPTIONS
              below) rather than a  single  option  letter.   You  must  press
              RETURN after typing the option name.  A ^P immediately after the
              second dash suppresses printing of a message describing the  new
              setting, as in the - command.

       -+     Followed  by  one  of  the command line option letters 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.

       --+    Like  the -+ command, but takes a long option name rather than a
              single option letter.

       -!     Followed by one of the command line option  letters,  this  will
              reset  the  option  to the "opposite" of its default setting and
              print a message describing the new setting.  This does not  work
              for numeric or string-valued options.

       --!    Like  the -! command, but takes a long option name rather than a
              single option letter.

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

       __     (Double underscore.)  Like the _ (underscore) command, but takes
              a long option name rather than a single option letter.  You must
              press RETURN after typing the option name.

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

       V      Prints the version number of _l_e_s_s being run.

       q or Q or :q or :Q or ZZ
              Exits _l_e_s_s_.

       The following four 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 VISUAL if defined,
              or  EDITOR if VISUAL is not defined, or defaults to "vi" if nei-
              ther VISUAL nor EDITOR is defined.  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 exam-
              ined file.  "!!" repeats the last shell command.   "!"  with  no
              shell  command  simply  invokes  a  shell.  On Unix systems, the
              shell is taken from the environment variable SHELL, or  defaults
              to  "sh".   On  MS-DOS and OS/2 systems, the shell is the normal
              command processor.

       | <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 indi-
              cate beginning or end of file respectively.  If <m> is . or new-
              line, the current screen is piped.

       s filename
              Save  the  input  to  a file.  This only works if the input is a
              pipe, not an ordinary file.


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

       Most  options  may be given in one of two forms: either a dash followed
       by a single letter, or two dashes followed by a long  option  name.   A
       long  option  name  may  be  abbreviated as long as the abbreviation is
       unambiguous.  For example, --quit-at-eof may be abbreviated --quit, but
       not --qui, since both --quit-at-eof and --quiet begin with --qui.  Some
       long option names are in uppercase, such as --QUIT-AT-EOF, as  distinct
       from  --quit-at-eof.   Such  option  names  need  only have their first
       letter capitalized; the remainder of the name may be  in  either  case.
       For example, --Quit-at-eof is equivalent to --QUIT-AT-EOF.

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

       setenv LESS "-options"

       or if you use _s_h_:

       LESS="-options"; export LESS

       On  MS-DOS,  you don't need the quotes, but you should replace any per-
       cent signs in the options string by double percent signs.

       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  value  on
       the command line by beginning the command line option with "-+".

       For  options like -P or -D which take a following string, a dollar sign
       ($) must be used to signal the end of the string.  For example, to  set
       two  -D  options  on  MS-DOS, you must have a dollar sign between them,
       like this:

       LESS="-Dn9.1$-Ds4.1"


       -? or --help
              This option displays a summary of the commands accepted by  _l_e_s_s
              (the  same  as  the  h  command).   (Depending on how your shell
              interprets the question mark, it may be necessary to  quote  the
              question mark, thus: "-\?".)

       -a or --search-skip-screen
              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).

       -b_n or --buffers=_n
              Specifies the amount of buffer space  _l_e_s_s  will  use  for  each
              file,  in  units  of  kilobytes (1024 bytes).  By default 64K of
              buffer space is used for each file (unless the file is  a  pipe;
              see  the  -B  option).   The  -b option specifies instead that _n
              kilobytes of buffer space should be used for each file.  If _n is
              -1,  buffer space is unlimited; that is, the entire file is read
              into memory.

       -B or --auto-buffers
              By default, when data is read from a pipe, buffers are allocated
              automatically as needed.  If a large amount of data is read from
              the pipe, this can cause a large amount of memory  to  be  allo-
              cated.   The  -B  option  disables  this automatic allocation of
              buffers for pipes, so that only 64K  (or  the  amount  of  space
              specified  by the -b option) is used for the pipe.  Warning: use
              of -B can result in  erroneous  display,  since  only  the  most
              recently  viewed part of the file is kept in memory; any earlier
              data is lost.

       -c or --clear-screen
              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 or --CLEAR-SCREEN
              The -C option is like -c, but the screen is cleared before it is
              repainted.

       -d or --dumb
              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  _l_e_s_s  on  a
              dumb terminal.

       -Dxx_c_o_l_o_r or --color=xx_c_o_l_o_r
              [MS-DOS only] Sets the color of the text displayed.  xx is a sin-
              gle character which selects the type  of  text  whose  color  is
              being  set: n=normal, s=standout, d=bold, u=underlined, k=blink.
              _c_o_l_o_r is a pair of numbers separated by  a  period.   The  first
              number  selects  the foreground color and the second selects the
              background color of the text.  A single number _N is the same  as
              _N_._0.

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

       -E or --QUIT-AT-EOF
              Causes _l_e_s_s to automatically exit the first time it reaches end-
              of-file.

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

       -F or --quit-if-one-screen
              Causes _l_e_s_s to automatically exit if the entire file can be dis-
              played on the first screen.

       -g or --hilite-search
              Normally, _l_e_s_s will highlight ALL strings which match  the  last
              search  command.   The  -g option changes this behavior to high-
              light only the particular string which was  found  by  the  last
              search command.  This can cause _l_e_s_s to run somewhat faster than
              the default.

       -G or --HILITE-SEARCH
              The -G option suppresses all highlighting of  strings  found  by
              search commands.

       -h_n or --max-back-scroll=_n
              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 or --ignore-case
              Causes searches to ignore case; that is, uppercase and lowercase
              are  considered identical.  This option is ignored if any upper-
              case letters appear in the search pattern; in other words, if  a
              pattern  contains  uppercase  letters, then that search does not
              ignore case.

       -I or --IGNORE-CASE
              Like -i, but searches ignore case even if the  pattern  contains
              uppercase letters.

       -j_n or --jump-target=_n
              Specifies  a line on the screen where the "target" line is to be
              positioned.  A target line is the object of a text  search,  tag
              search,  jump  to  a  line number, jump to a file percentage, or
              jump 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.

       -J or --status-column
              Displays a status column at the left edge of  the  screen.   The
              status  column  shows the lines that matched the current search.
              The status column is also used if the -w  or  -W  option  is  in
              effect.

       -k_f_i_l_e_n_a_m_e or --lesskey-file=_f_i_l_e_n_a_m_e
              Causes  _l_e_s_s  to  open and interpret the named file as a _l_e_s_s_k_e_y
              (1) file.  Multiple -k options may be specified.  If the LESSKEY
              or  LESSKEY_SYSTEM  environment variable is set, or if a lesskey
              file is found in a standard place (see KEY BINDINGS), it is also
              used as a _l_e_s_s_k_e_y file.

       -K or --quit-on-intr
              Causes  _l_e_s_s  to  exit  immediately  when an interrupt character
              (usually ^C) is typed.  Normally, an interrupt character  causes
              _l_e_s_s  to  stop  whatever  it  is doing and return to its command
              prompt.

       -L or --no-lessopen
              Ignore the LESSOPEN environment variable (see the INPUT  PREPRO-
              CESSOR section below).  This option can be set from within _l_e_s_s,
              but it will apply only to files opened subsequently, not to  the
              file which is currently open.

       -m or --long-prompt
              Causes  _l_e_s_s  to  prompt verbosely (like _m_o_r_e), with the percent
              into the file.  By default, _l_e_s_s prompts with a colon.

       -M or --LONG-PROMPT
              Causes _l_e_s_s to prompt even more verbosely than _m_o_r_e_.

       -n or --line-numbers
              Suppresses line numbers.  The default (to use line numbers)  may
              cause  _l_e_s_s  to run more slowly in some cases, especially with a
              very large input file.  Suppressing line  numbers  with  the  -n
              option  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 or --LINE-NUMBERS
              Causes  a  line  number to be displayed at the beginning of each
              line in the display.

       -o_f_i_l_e_n_a_m_e or --log-file=_f_i_l_e_n_a_m_e
              Causes _l_e_s_s 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, _l_e_s_s  will  ask  for
              confirmation before overwriting it.

       -O_f_i_l_e_n_a_m_e or --LOG-FILE=_f_i_l_e_n_a_m_e
              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  _l_e_s_s  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 _l_e_s_s_.

       -p_p_a_t_t_e_r_n or --pattern=_p_a_t_t_e_r_n
              The  -p  option  on the command line is equivalent to specifying
              +/_p_a_t_t_e_r_n; that is, it tells _l_e_s_s to start at the  first  occur-
              rence of _p_a_t_t_e_r_n in the file.

       -P_p_r_o_m_p_t or --prompt=_p_r_o_m_p_t
              Provides  a  way  to  tailor the three prompt styles to your own
              preference.  This option would normally be put in the LESS envi-
              ronment variable, rather than being typed in with each _l_e_s_s com-
              mand.  Such an option must either be the last option in the LESS
              variable,  or be terminated by a dollar sign.  -Ps followed by a
              string changes the default (short) prompt to that  string.   -Pm
              changes  the  medium  (-m)  prompt.   -PM  changes the long (-M)
              prompt.  -Ph changes  the  prompt  for  the  help  screen.   -P=
              changes  the  message printed by the = command.  -Pw changes the
              message printed while waiting for data (in the F command).   All
              prompt  strings  consist  of  a  sequence of letters and special
              escape sequences.  See the section on PROMPTS for more  details.

       -q or --quiet or --silent
              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 or --QUIET or --SILENT
              Causes totally "quiet" operation: the  terminal  bell  is  never
              rung.

       -r or --raw-control-chars
              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 option is used, _l_e_s_s 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 dis-
              play  problems may result, such as long lines being split in the
              wrong place.

       -R or --RAW-CONTROL-CHARS
              Like -r, but only ANSI "color" escape sequences  are  output  in
              "raw" form.  Unlike -r, the screen appearance is maintained cor-
              rectly  in  most  cases.   ANSI  "color"  escape  sequences  are
              sequences of the form:

                   ESC [ ... m

              where  the  "..." is zero or more color specification characters
              For the purpose of keeping  track  of  screen  appearance,  ANSI
              color  escape sequences are assumed to not move the cursor.  You
              can make _l_e_s_s think that characters other than "m" can end  ANSI
              color  escape  sequences  by  setting  the  environment variable
              LESSANSIENDCHARS to the list of characters which can end a color
              escape  sequence.   And  you can make _l_e_s_s think that characters
              other than the standard ones may appear between the ESC and  the
              m  by  setting  the environment variable LESSANSIMIDCHARS to the
              list of characters which can appear.

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

       -S or --chop-long-lines
              Causes  lines  longer than the screen width to be chopped rather
              than folded.  That is, the portion of a long line that does  not
              fit  in  the  screen width is not shown.  The default is to fold
              long lines; that is, display the remainder on the next line.

       -t_t_a_g or --tag=_t_a_g
              The -t option, followed immediately by a TAG, will edit the file
              containing  that tag.  For this to work, tag information must be
              available; for example, there may  be  a  file  in  the  current
              directory called "tags", which was previously built by _c_t_a_g_s (1)
              or an equivalent command.  If the environment variable LESSGLOB-
              ALTAGS  is set, it is taken to be the name of a command compati-
              ble with _g_l_o_b_a_l (1), and that command is executed  to  find  the
              tag.  (See http://www.gnu.org/software/global/global.html).  The
              -t option may also be specified from within _l_e_s_s  (using  the  -
              command)  as a way of examining a new file.  The command ":t" is
              equivalent to specifying -t from within _l_e_s_s_.

       -T_t_a_g_s_f_i_l_e or --tag-file=_t_a_g_s_f_i_l_e
              Specifies a tags file to be used instead of "tags".

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

       -U or --UNDERLINE-SPECIAL
              Causes backspaces, tabs 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 spe-
              cially: 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 bold-
              face 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.  Text which is overstruck or under-
              lined can be searched for if neither -u nor -U is in effect.

       -V or --version
              Displays the version number of _l_e_s_s_.

       -w or --hilite-unread
              Temporarily highlights the first  "new"  line  after  a  forward
              movement of a full page.  The first "new" line is the line imme-
              diately following the line  previously  at  the  bottom  of  the
              screen.  Also highlights the target line after a g or p command.
              The highlight is removed at the next command which causes  move-
              ment.   The  entire line is highlighted, unless the -J option is
              in effect, in which case only the status column is  highlighted.

       -W or --HILITE-UNREAD
              Like -w, but temporarily highlights the first new line after any
              forward movement command larger than one line.

       -x_n,... or --tabs=_n,...
              Sets tab stops.  If only one _n is specified, tab stops  are  set
              at  multiples  of _n.  If multiple values separated by commas are
              specified, tab stops are set at those positions, and  then  con-
              tinue  with  the  same  spacing  as  the last two.  For example,
              _-_x_9_,_1_7 will set tabs at positions  9,  17,  25,  33,  etc.   The
              default for _n is 8.

       -X or --no-init
              Disables sending the termcap initialization and deinitialization
              strings to the terminal.  This is  sometimes  desirable  if  the
              deinitialization  string does something unnecessary, like clear-
              ing the screen.

       --no-keypad
              Disables sending the keypad initialization and  deinitialization
              strings to the terminal.  This is sometimes useful if the keypad
              strings make the numeric keypad behave in an undesirable manner.

       -y_n or --max-forw-scroll=_n
              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 or --window=_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 for compati-
              bility with _m_o_r_e_.  If the number _n is negative, it  indicates  _n
              lines  less  than  the current screen size.  For example, if the
              screen is 24 lines, _-_z_-_4 sets the scrolling window to 20  lines.
              If the screen is resized to 40 lines, the scrolling window auto-
              matically changes to 36 lines.

       -_"_c_c or --quotes=_c_c
              Changes the filename quoting character.  This may  be  necessary
              if  you are trying to name a file which contains both spaces and
              quote characters.  Followed by a single character, this  changes
              the  quote  character to that character.  Filenames containing a
              space should then be surrounded by that character rather than by
              double  quotes.   Followed  by  two characters, changes the open
              quote to the first character, and the close quote to the  second
              character.  Filenames containing a space should then be preceded
              by the open quote character and  followed  by  the  close  quote
              character.   Note  that  even  after  the  quote  characters are
              changed, this option remains -" (a dash  followed  by  a  double
              quote).

       -~ or --tilde
              Normally lines after end of file are displayed as a single tilde
              (~).  This option causes lines after end of file to be displayed
              as blank lines.

       -# or --shift
              Specifies the default number of positions to scroll horizontally
              in the RIGHTARROW and LEFTARROW commands.  If the number  speci-
              fied  is  zero,  it  sets the default number of positions to one
              half of the screen width.

       --     A command line argument of "--" marks the end  of  option  argu-
              ments.   Any  arguments  following this are interpreted as file-
              names.  This can be useful when viewing a file whose name begins
              with a "-" or "+".

       +      If  a  command  line option begins with ++, the remainder of that
              option is taken to be an initial command to _l_e_s_s_.  For  example,
              +G  tells  _l_e_s_s  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 ini-
              tial command for every file.


LLIINNEE EEDDIITTIINNGG
       When  entering command line at the bottom of the screen (for example, a
       filename for the :e command, or the  pattern  for  a  search  command),
       certain keys can be used to manipulate the command line.  Most commands
       have an alternate form in [ brackets ] which can be used if a key  does
       not  exist  on a particular keyboard.  (The bracketed forms do not work
       in the MS-DOS version.)  Any of these special keys may be entered  lit-
       erally  by  preceding it with the "literal" character, either ^V or ^A.
       A backslash itself may also be entered literally by entering two  back-
       slashes.

       LEFTARROW [ ESC-h ]
              Move the cursor one space to the left.

       RIGHTARROW [ ESC-l ]
              Move the cursor one space to the right.

       ^LEFTARROW [ ESC-b or ESC-LEFTARROW ]
              (That  is, CONTROL and LEFTARROW simultaneously.)  Move the cur-
              sor one word to the left.

       ^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]
              (That is, CONTROL and RIGHTARROW simultaneously.)  Move the cur-
              sor one word to the right.

       HOME [ ESC-0 ]
              Move the cursor to the beginning of the line.

       END [ ESC-$ ]
              Move the cursor to the end of the line.

       BACKSPACE
              Delete  the  character  to the left of the cursor, or cancel the
              command if the command line is empty.

       DELETE or [ ESC-x ]
              Delete the character under the cursor.

       ^BACKSPACE [ ESC-BACKSPACE ]
              (That is, CONTROL and  BACKSPACE  simultaneously.)   Delete  the
              word to the left of the cursor.

       ^DELETE [ ESC-X or ESC-DELETE ]
              (That  is,  CONTROL and DELETE simultaneously.)  Delete the word
              under the cursor.

       UPARROW [ ESC-k ]
              Retrieve the previous command line.

       DOWNARROW [ ESC-j ]
              Retrieve the next command line.

       TAB    Complete the partial filename to the left of the cursor.  If  it
              matches  more than one filename, the first match is entered into
              the command line.  Repeated  TABs  will  cycle  thru  the  other
              matching filenames.  If the completed filename is a directory, a
              "/" is appended to the filename.  (On MS-DOS systems, a  "\"  is
              appended.)   The  environment variable LESSSEPARATOR can be used
              to specify a different character to append to a directory  name.

       BACKTAB [ ESC-TAB ]
              Like, TAB, but cycles in the reverse direction thru the matching
              filenames.

       ^L     Complete the partial filename to the left of the cursor.  If  it
              matches more than one filename, all matches are entered into the
              command line (if they fit).

       ^U (Unix and OS/2) or ESC (MS-DOS)
              Delete the entire command line, or cancel  the  command  if  the
              command line is empty.  If you have changed your line-kill char-
              acter in Unix to something other than ^U, that character is used
              instead of ^U.


KKEEYY BBIINNDDIINNGGSS
       You  may define your own _l_e_s_s commands by using the program _l_e_s_s_k_e_y (1)
       to create a lesskey file.  This file specifies a set  of  command  keys
       and  an  action  associated with each key.  You may also use _l_e_s_s_k_e_y to
       change the line-editing keys (see LINE EDITING), and to set environment
       variables.   If the environment variable LESSKEY is set, _l_e_s_s uses that
       as the name of the lesskey file.  Otherwise, _l_e_s_s looks in  a  standard
       place  for  the lesskey file: On Unix systems, _l_e_s_s looks for a lesskey
       file called "$HOME/.less".  On MS-DOS and Windows systems,  _l_e_s_s  looks
       for  a lesskey file called "$HOME/_less", and if it is not found there,
       then looks for a lesskey file called "_less" in any directory specified
       in  the  PATH  environment variable.  On OS/2 systems, _l_e_s_s looks for a
       lesskey file called "$HOME/less.ini", and if  it  is  not  found,  then
       looks  for  a lesskey file called "less.ini" in any directory specified
       in the INIT environment variable, and if it not found there, then looks
       for  a lesskey file called "less.ini" in any directory specified in the
       PATH environment variable.   See  the  _l_e_s_s_k_e_y  manual  page  for  more
       details.

       A  system-wide lesskey file may also be set up to provide key bindings.
       If a key is defined in both a local lesskey file and in the system-wide
       file,  key bindings in the local file take precedence over those in the
       system-wide file.  If the environment variable LESSKEY_SYSTEM  is  set,
       _l_e_s_s uses that as the name of the system-wide lesskey file.  Otherwise,
       _l_e_s_s looks in a standard place for the  system-wide  lesskey  file:  On
       Unix  systems,  the system-wide lesskey file is /usr/local/etc/sysless.
       (However, if _l_e_s_s was built with a  different  sysconf  directory  than
       /usr/local/etc, that directory is where the sysless file is found.)  On
       MS-DOS and Windows systems, the system-wide lesskey  file  is  c:\_sys-
       less.  On OS/2 systems, the system-wide lesskey file is c:\sysless.ini.


IINNPPUUTT PPRREEPPRROOCCEESSSSOORR
       You may define an "input preprocessor" for _l_e_s_s_.  Before _l_e_s_s  opens  a
       file, it first gives your input preprocessor a chance to modify the way
       the contents of the file are displayed.  An input preprocessor is  sim-
       ply  an executable program (or shell script), which writes the contents
       of the file to a different file, called the replacement file.  The con-
       tents  of  the replacement file are then displayed in place of the con-
       tents of the original file.  However, it will appear to the user as  if
       the  original  file  is opened; that is, _l_e_s_s will display the original
       filename as the name of the current file.

       An input preprocessor receives one command line argument, the  original
       filename,  as  entered  by  the user.  It should create the replacement
       file, and when finished, print the name of the replacement file to  its
       standard  output.  If the input preprocessor does not output a replace-
       ment filename, _l_e_s_s uses the original file, as normal.  The input  pre-
       processor  is  not  called  when  viewing standard input.  To set up an
       input preprocessor, set the LESSOPEN environment variable to a  command
       line  which  will  invoke  your  input preprocessor.  This command line
       should include one  occurrence  of  the  string  "%s",  which  will  be
       replaced  by  the  filename  when  the  input  preprocessor  command is
       invoked.

       When _l_e_s_s closes a file opened in such a way, it will call another pro-
       gram,  called  the  input  postprocessor, which may perform any desired
       clean-up action (such as  deleting  the  replacement  file  created  by
       LESSOPEN).  This program receives two command line arguments, the orig-
       inal filename as entered by the user, and the name of  the  replacement
       file.   To set up an input postprocessor, set the LESSCLOSE environment
       variable to a command line which will invoke your input  postprocessor.
       It  may  include  two  occurrences  of  the  string  "%s"; the first is
       replaced with the original name of the file and  the  second  with  the
       name of the replacement file, which was output by LESSOPEN.

       For  example, on many Unix systems, these two scripts will allow you to
       keep files in compressed format, but still let _l_e_s_s view them directly:

       lessopen.sh:
            #! /bin/sh
            case "$1" in
            *.Z) uncompress -
                 if [ -s /tmp/less.$$ ]; then
                      echo /tmp/less.$$
                 else
                      rm -f /tmp/less.$$
                 fi
                 ;;
            esac

       lessclose.sh:
            #! /bin/sh
            rm $2

       To  use these scripts, put them both where they can be executed and set
       LESSOPEN="lessopen.sh %s",  and  LESSCLOSE="lessclose.sh %s %s".   More
       complex  LESSOPEN  and LESSCLOSE scripts may be written to accept other
       types of compressed files, and so on.

       It is also possible to set up an input preprocessor to  pipe  the  file
       data  directly to _l_e_s_s_, rather than putting the data into a replacement
       file.  This avoids the need to decompress the entire file before start-
       ing to view it.  An input preprocessor that works this way is called an
       input pipe.  An input pipe, instead of writing the name of  a  replace-
       ment  file  on  its  standard output, writes the entire contents of the
       replacement file on its standard output.  If the input  pipe  does  not
       write  any characters on its standard output, then there is no replace-
       ment file and _l_e_s_s uses the original file, as normal.  To use an  input
       pipe,  make  the first character in the LESSOPEN environment variable a
       vertical bar (|) to signify that the input  preprocessor  is  an  input
       pipe.

       For  example, on many Unix systems, this script will work like the pre-
       vious example scripts:

       lesspipe.sh:
            #! /bin/sh
            case "$1" in
            *.Z) uncompress -c $1  2>/dev/null
                 ;;
            esac

       To  use  this  script,  put  it  where  it  can  be  executed  and  set
       LESSOPEN="|lesspipe.sh  %s".   When  an input pipe is used, a LESSCLOSE
       postprocessor can be used, but it is usually not necessary since  there
       is no replacement file to clean up.  In this case, the replacement file
       name passed to the LESSCLOSE postprocessor is "-".


NNAATTIIOONNAALL CCHHAARRAACCTTEERR SSEETTSS
       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
              should  not  be  displayed  directly  and are not expected to be
              found in text files.

       A "character set" is simply a description of which characters are to be
       considered  normal,  control,  and binary.  The LESSCHARSET environment
       variable may be used to select a character set.   Possible  values  for
       LESSCHARSET are:

       ascii  BS,  TAB, NL, CR, and formfeed are control characters, all chars
              with values between 32 and 126 are normal, and  all  others  are
              binary.

       iso8859
              Selects  an  ISO 8859 character set.  This is the same as ASCII,
              except characters between 160 and  255  are  treated  as  normal
              characters.

       latin1 Same as iso8859.

       latin9 Same as iso8859.

       dos    Selects a character set appropriate for MS-DOS.

       ebcdic Selects an EBCDIC character set.

       IBM-1047
              Selects  an  EBCDIC  character set used by OS/390 Unix Services.
              This is the EBCDIC analogue of latin1.  You get similar  results
              by setting either LESSCHARSET=IBM-1047 or LC_CTYPE=en_US in your
              environment.

       koi8-r Selects a Russian character set.

       next   Selects a character set appropriate for NeXT computers.

       utf-8  Selects the UTF-8 encoding of the ISO 10646 character set.

       windows
              Selects a character set appropriate for  Microsoft  Windows  (cp
              1251).

       In  special  cases, it may be desired to tailor _l_e_s_s 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  repre-
       sents  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 char-
       acter set.)

       This table shows the value of LESSCHARDEF which is equivalent  to  each
       of the possible values for LESSCHARSET:

            ascii     8bcccbcc18b95.b
            dos       8bcccbcc12bc5b95.b.
            ebcdic    5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b
                      9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
            IBM-1047  4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc
                      191.b
            iso8859   8bcccbcc18b95.33b.
            koi8-r    8bcccbcc18b95.b128.
            latin1    8bcccbcc18b95.33b.
            next      8bcccbcc18b95.bb125.bb

       If  neither  LESSCHARSET nor LESSCHARDEF is set, but any of the strings
       "UTF-8", "UTF8", "utf-8" or "utf8" is found in the LC_ALL,  LC_TYPE  or
       LANG environment variables, then the default character set is utf-8.

       If  that  string  is  not found, but your system supports the _s_e_t_l_o_c_a_l_e
       interface, _l_e_s_s will use setlocale  to  determine  the  character  set.
       setlocale  is  controlled  by  setting the LANG or LC_CTYPE environment
       variables.

       Finally, if the _s_e_t_l_o_c_a_l_e interface is also not available, the  default
       character set is latin1.

       Control  and  binary  characters  are  displayed  in  standout (reverse
       video).  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 char-
       acter  is displayed as a hex number in angle brackets.  This format can
       be changed by setting the LESSBINFMT environment variable.   LESSBINFMT
       may begin with a "*" and one character to select the display attribute:
       "*k" is blinking, "*d" is bold, "*u" is underlined, "*s"  is  standout,
       and  "*n"  is  normal.  If LESSBINFMT does not begin with a "*", normal
       attribute is assumed.  The remainder of LESSBINFMT is  a  string  which
       may  include one printf-style escape sequence (a % followed by x, X, o,
       d, etc.).  For example, if LESSBINFMT is  "*u[%x]",  binary  characters
       are  displayed  in  underlined hexadecimal surrounded by brackets.  The
       default if no LESSBINFMT is specified is "*s<%X>".  The default  if  no
       LESSBINFMT  is specified is "*s<%02X>".  Warning: the result of expand-
       ing the character via LESSBINFMT must be less than 31 characters.

       When the character set is utf-8, the LESSUTFBINFMT environment variable
       acts similarly to LESSBINFMT but it applies to Unicode code points that
       were successfully decoded but are unsuitable for display  (e.g.,  unas-
       signed  code  points).   Its  default  value is "<U+%04lX>".  Note that
       LESSUTFBINFMT and LESSBINFMT  share  their  display  attribute  setting
       ("*x")  so specifying one will affect both; LESSUTFBINFMT is read after
       LESSBINFMT so its setting, if any,  will  have  priority.   Problematic
       octets  in  a  UTF-8  file (octets of a truncated sequence, octets of a
       complete but non-shortest form  sequence,  illegal  octets,  and  stray
       trailing  octets)  are displayed individually using LESSBINFMT so as to
       facilitate diagnostic of how the UTF-8 file is ill-formed.


PPRROOMMPPTTSS
       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 ordi-
       nary 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:

       %b_X    Replaced by the byte offset into the current input file.  The  b
              is followed by a single character (shown as _X above) which spec-
              ifies the line whose byte offset is to be used.  If the  charac-
              ter  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 bot-
              tom  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.

       %c     Replaced by the column number of the text appearing in the first
              column of the screen.

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

       %D     Replaced  by  the  number of pages in the input file, or equiva-
              lently, the page number of the last line in the input file.

       %E     Replaced by the name of the editor (from the VISUAL  environment
              variable,  or  the  EDITOR environment variable if VISUAL is not
              defined).  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.

       %l_X    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.

       %p_X    Replaced  by  the  percent into the current input file, based on
              byte offsets.  The line used is determined by the _X as with  the
              %b option.

       %P_X    Replaced  by  the  percent into the current input file, based on
              line numbers.  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 evalu-
       ated.  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.

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

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

       ?c     True if the text is horizontally shifted (%c is not zero).

       ?d_X    True if the page number of the specified line 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).

       ?l_X    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.

       ?p_X    True if the percent into the current input file, based  on  byte
              offsets, of the specified line is known.

       ?P_X    True  if  the percent into the current input file, based on line
              numbers, 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  "Stan-
       dard input".

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

       This  prompt  would print the filename, if known.  The filename is fol-
       lowed 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, fol-
       lowed 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 refer-
       ence, 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) ..?ltlines %lt-%lb?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) .?ltlines %lt-%lb?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.


SSEECCUURRIITTYY
       When  the  environment  variable LESSSECURE is set to 1, _l_e_s_s runs in a
       "secure" mode.  This means these features are disabled:

              !      the shell command

              |      the pipe command

              :e     the examine command.

              v      the editing command

              s  -o  log files

              -k     use of lesskey files

              -t     use of tags files

                     metacharacters in filenames, such as *

                     filename completion (TAB, ^L)

       Less can also be compiled to be permanently in "secure" mode.


EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
       Environment variables may be specified either in the system environment
       as  usual,  or  in  a  _l_e_s_s_k_e_y  (1) file.  If environment variables are
       defined in more than one place, variables defined in  a  local  lesskey
       file  take precedence over variables defined in the system environment,
       which take precedence over variables defined in the system-wide lesskey
       file.

       COLUMNS
              Sets the number of columns on the screen.  Takes precedence over
              the number of columns specified by the TERM variable.   (But  if
              you  have  a  windowing  system  which  supports  TIOCGWINSZ  or
              WIOCGETD, the window system's idea  of  the  screen  size  takes
              precedence over the LINES and COLUMNS environment variables.)

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

       HOME   Name  of  the user's home directory (used to find a lesskey file
              on Unix and OS/2 systems).

       HOMEDRIVE, HOMEPATH
              Concatenation of the HOMEDRIVE and  HOMEPATH  environment  vari-
              ables is the name of the user's home directory if the HOME vari-
              able is not set (only in the Windows version).

       INIT   Name of the user's init directory (used to find a  lesskey  file
              on OS/2 systems).

       LANG   Language for determining the character set.

       LC_CTYPE
              Language for determining the character set.

       LESS   Options which are passed to _l_e_s_s automatically.

       LESSANSIENDCHARS
              Characters  which may end an ANSI color escape sequence (default
              "m").

       LESSANSIMIDCHARS
              Characters which may appear between the ESC  character  and  the
              end   character  in  an  ANSI  color  escape  sequence  (default
              "0123456789;[?!"'#%()*+ ".

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

       LESSCHARDEF
              Defines a character set.

       LESSCHARSET
              Selects a predefined character set.

       LESSCLOSE
              Command line to invoke the (optional) input-postprocessor.

       LESSECHO
              Name of the lessecho program (default "lessecho").  The lessecho
              program  is needed to expand metacharacters, such as * and ?, in
              filenames on Unix systems.

       LESSEDIT
              Editor prototype string (used for the v command).   See  discus-
              sion under PROMPTS.

       LESSGLOBALTAGS
              Name  of  the command used by the -t option to find global tags.
              Normally should be set to "global" if your system has the _g_l_o_b_a_l
              (1) command.  If not set, global tags are not used.

       LESSHISTFILE
              Name  of  the  history file used to remember search commands and
              shell commands between invocations of _l_e_s_s_.  If set  to  "-",  a
              history  file  is  not used.  The default is "$HOME/.lesshst" on
              Unix systems, "$HOME/_lesshst" on DOS and  Windows  systems,  or
              "$HOME/lesshst.ini" or "$INIT/lesshst.ini" on OS/2 systems.

       LESSHISTSIZE
              The maximum number of commands to save in the history file.  The
              default is 100.

       LESSKEY
              Name of the default lesskey(1) file.

       LESSKEY_SYSTEM
              Name of the default system-wide lesskey(1) file.

       LESSMETACHARS
              List of characters which are considered "metacharacters" by  the
              shell.

       LESSMETAESCAPE
              Prefix  which  less will add before each metacharacter in a com-
              mand sent to the shell.  If LESSMETAESCAPE is an  empty  string,
              commands  containing  metacharacters  will  not be passed to the
              shell.

       LESSOPEN
              Command line to invoke the (optional) input-preprocessor.

       LESSSECURE
              Runs less in "secure" mode.  See discussion under SECURITY.

       LESSSEPARATOR
              String to be appended to a directory name  in  filename  comple-
              tion.

       LESSUTFBINFMT
              Format for displaying non-printable Unicode code points.

       LINES  Sets  the  number of lines on the screen.  Takes precedence over
              the number of lines specified by the TERM variable.  (But if you
              have  a  windowing system which supports TIOCGWINSZ or WIOCGETD,
              the window system's idea of the  screen  size  takes  precedence
              over the LINES and COLUMNS environment variables.)

       PATH   User's  search  path  (used to find a lesskey file on MS-DOS and
              OS/2 systems).

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

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

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


SSEEEE AALLSSOO
       lesskey(1)


WWAARRNNIINNGGSS
       The  =  command and prompts (unless changed by -P) report the line num-
       bers of the lines at the top and bottom of the screen, but the byte and
       percent of the line after the one 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.

       On  certain  older  terminals (the so-called "magic cookie" terminals),
       search highlighting will cause an erroneous display.   On  such  termi-
       nals,  search  highlighting  is  disabled  by default to avoid possible
       problems.

       In certain cases, when search highlighting is enabled and a search pat-
       tern  begins  with a ^, more text than the matching string may be high-
       lighted.  (This problem does not occur when less is compiled to use the
       POSIX regular expression package.)

       When  viewing  text containing ANSI color escape sequences using the -R
       option, searching will not find  text  containing  an  embedded  escape
       sequence.   Also,  search  highlighting may change the color of some of
       the text which follows the highlighted text.

       On some systems, _s_e_t_l_o_c_a_l_e claims that ASCII characters 0 thru  31  are
       control  characters rather than binary characters.  This causes _l_e_s_s to
       treat some binary files as ordinary, non-binary files.   To  workaround
       this  problem,  set the environment variable LESSCHARSET to "ascii" (or
       whatever character set is appropriate).

       This manual is too long.

       See http://www.greenwoodsoftware.com/less for the list of known bugs in
       all versions of less.


CCOOPPYYRRIIGGHHTT
       Copyright (C) 1984-2005  Mark Nudelman

       less  is  part of the GNU project and is free software.  You can redis-
       tribute it and/or modify it under the terms of either (1) the GNU  Gen-
       eral  Public  License  as published by the Free Software Foundation; or
       (2) the Less License.  See the file README in the less distribution for
       more details regarding redistribution.  You should have received a copy
       of the GNU General Public License along with the source for  less;  see
       the  file  COPYING.   If not, write to the Free Software Foundation, 59
       Temple Place, Suite 330, Boston, MA  02111-1307, USA.  You should  also
       have received a copy of the Less License; see the file LICENSE.

       less is distributed in the hope that it will be useful, but WITHOUT ANY
       WARRANTY; without even the implied warranty of MERCHANTABILITY or  FIT-
       NESS  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
       more details.


AAUUTTHHOORR
       Mark Nudelman <markn@greenwoodsoftware.com>
       Send  bug  reports  or  comments  to  the  above  address  or  to  bug-
       less@gnu.org.
       For  more  information,  see the less homepage at http://www.greenwood-
       software.com/less.



                           Version 394: 03 Dec 2005                    LESS(1)
