


LESS(1)                                                   LESS(1)


NNAAMMEE
       less - opposite of more

SSYYNNOOPPSSIISS
       lleessss --??
       lleessss [[--[[++]]aaBBccCCddeeEEffHHiimmMMnnNNqqQQrrssSSuuUUww]]
            [[--bb _b_u_f_s]] [[--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_f_i_l_e]] [[--xx _t_a_b]] [[--yy _l_i_n_e_s]] [[--[[zz]] _l_i_n_e_s]]
            [[++[[++]]_c_m_d]] [[_f_i_l_e_n_a_m_e]]......


DDEESSCCRRIIPPTTIIOONN
       _L_e_s_s  is  a  program similar to _m_o_r_e (1), but which allows
       backward movement 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 an up-
       arrow.)

       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.  Warn-
              ing:  some  systems use ^V as a special literaliza-
              tion 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.



                                                                1





LESS(1)                                                   LESS(1)


       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



                                                                2





LESS(1)                                                   LESS(1)


              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 _l_e_s_s 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



                                                                3





LESS(1)                                                   LESS(1)


              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  con-
              taining the pattern.  N defaults to 1.  The pattern
              is a regular expression, as recognized by _e_d_.   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 pat-
                     tern.

              *      Search  multiple  files.   That  is,  if the
                     search reaches the end of the  current  file
                     without  finding a match, the search contin-
                     ues 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, regard-
                     less  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 con-
              taining the pattern.  The search starts at the line
              immediately before the top line displayed.

              Certain characters are special as in the / command:



                                                                4





LESS(1)                                                   LESS(1)


              !      Search for lines which do NOT match the pat-
                     tern.

              *      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  com-
                     mand line list.

              @      Begin  the  search  at  the last line of the
                     last file in the command line list,  regard-
                     less  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 modi-
              fied 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  direc-
              tion.


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


       ESC-N  Repeat  previous  search, but in the reverse direc-
              tion 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



                                                                5





LESS(1)                                                   LESS(1)


              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 spe-
              cial 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 set-
              ting.  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 noth-
              ing 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.



                                                                6





LESS(1)                                                   LESS(1)


       --     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  mes-
              sage  describing  the new setting.  (The "--_X" com-
              mand 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 mes-
              sage 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  _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 ZZ or ESC ESC
              Exits _l_e_s_s_.

       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



                                                                7





LESS(1)                                                   LESS(1)


              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.


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

       Options are  also  taken  from  the  environment  variable
       "LESS".   For example, 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

       The environment variable  is  parsed  before  the  command
       line,  so  command line options override the LESS environ-
       ment 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  _l_e_s_s (the same as the h command).  If
              this  option  is  given,  all  other  options   are
              ignored,  and  _l_e_s_s  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  dis-
              played  on the screen, thus skipping all lines dis-
              played 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    Causes  _l_e_s_s  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



                                                                8





LESS(1)                                                   LESS(1)


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

       -e     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     Causes _l_e_s_s 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,  _l_e_s_s  will
              refuse to open non-regular files.

       -h_n    Specifies a maximum number of lines to scroll back-
              ward.  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.  Also, text
              which  is  overstruck or underlined can be searched
              for.  This option is ignored if any uppercase  let-
              ters appear in the search pattern.

       -j_n    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 immedi-
              ately after the target line.  For example, if "-j4"



                                                                9





LESS(1)                                                   LESS(1)


              is  used, the target line is the fourth line on the
              screen, so searches begin at the fifth line on  the
              screen.

       -k_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  a  file called .less exists in the
              user's home directory, this file is also used as  a
              _l_e_s_s_k_e_y file.

       -m     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     Causes  _l_e_s_s  to  prompt  even  more verbosely than
              _m_o_r_e_.

       -n     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 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  begin-
              ning of each line in the display.

       -o_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
              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
              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  occurence  of  _p_a_t_t_e_r_n  in  the
              file.




                                                               10





LESS(1)                                                   LESS(1)


       -P_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 environment variable, rather than
              being typed in with each  _l_e_s_s  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  spe-
              cial  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, _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 charac-
              ter).   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
              _n_r_o_f_f 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.

       -t_t_a_g  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  _c_t_a_g_s  (1)  command.   This option may also be
              specified from within _l_e_s_s (using the - command) as



                                                               11





LESS(1)                                                   LESS(1)


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

       -x_n    Sets  tab stops every _n positions.  The default for
              _n is 8.

       -y_n    Specifies a maximum number of lines to scroll  for-
              ward.   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  com-
              patibility with _m_o_r_e_.

       +      If a command line option begins with ++, the remain-
              der of that option is taken to be an  initial  com-
              mand  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



                                                               12





LESS(1)                                                   LESS(1)


              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.


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 file called ".less" in your home
       directory.  This file specifies a set of command keys  and
       an  action associated with each key.  See the _l_e_s_s_k_e_y man-
       ual page for more details.


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

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

       In  special cases, it may be desired to tailor _l_e_s_s to use
       a character set other than the  ones  definable  by  LESS-
       CHARSET.   In  this  case,  the environment variable LESS-
       CHARDEF can be used to define a character set.  It  should
       be set to a string where each character in the string rep-
       resents 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  repeti-
       tion.   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



                                                               13





LESS(1)                                                   LESS(1)


       would be normal.  (This is an example, and does not neces-
       sarily 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 dis-
       played 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  pre-
       ceding  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.


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




                                                               14





LESS(1)                                                   LESS(1)


       %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.  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  any-
              where.

       %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 sin-
       gle  character acts like an "IF": depending on the follow-
       ing 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.

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




                                                               15





LESS(1)                                                   LESS(1)


       ?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 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 file-
       name  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  refer-
       ence,  here are the defaults for the other two prompts (-m
       and -M respectively).  Each is broken into two lines  here



                                                               16





LESS(1)                                                   LESS(1)


       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  com-
       mand  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 vari-
       able can be changed to modify this default.


EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
       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 _l_e_s_s 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).



                                                               17





LESS(1)                                                   LESS(1)


              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 _l_e_s_s is being run.


SSEEEE AALLSSOO
       lesskey(1)


WWAARRNNIINNGGSS
       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.

























                                                               18


