]> CyberLeo.Net >> Repos - FreeBSD/releng/9.0.git/blob - contrib/less/less.man
Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
[FreeBSD/releng/9.0.git] / contrib / less / less.man
1 LESS(1)                                                                LESS(1)
2
3
4
5 \e[1mNAME\e[0m
6        less - opposite of more
7
8 \e[1mSYNOPSIS\e[0m
9        \e[1mless -?\e[0m
10        \e[1mless --help\e[0m
11        \e[1mless -V\e[0m
12        \e[1mless --version\e[0m
13        \e[1mless [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]\e[0m
14             \e[1m[-b \e[4m\e[22mspace\e[24m\e[1m] [-h \e[4m\e[22mlines\e[24m\e[1m] [-j \e[4m\e[22mline\e[24m\e[1m] [-k \e[4m\e[22mkeyfile\e[24m\e[1m]\e[0m
15             \e[1m[-{oO} \e[4m\e[22mlogfile\e[24m\e[1m] [-p \e[4m\e[22mpattern\e[24m\e[1m] [-P \e[4m\e[22mprompt\e[24m\e[1m] [-t \e[4m\e[22mtag\e[24m\e[1m]\e[0m
16             \e[1m[-T \e[4m\e[22mtagsfile\e[24m\e[1m] [-x \e[4m\e[22mtab\e[24m\e[1m,...] [-y \e[4m\e[22mlines\e[24m\e[1m] [-[z] \e[4m\e[22mlines\e[24m\e[1m]\e[0m
17             \e[1m[-# \e[4m\e[22mshift\e[24m\e[1m] [+[+]\e[4m\e[22mcmd\e[24m\e[1m] [--] [\e[4m\e[22mfilename\e[24m\e[1m]...\e[0m
18        (See  the  OPTIONS section for alternate option syntax with long option
19        names.)
20
21
22 \e[1mDESCRIPTION\e[0m
23        \e[4mLess\e[24m is a program similar to \e[4mmore\e[24m (1), but which allows backward  move-
24        ment in the file as well as forward movement.  Also, \e[4mless\e[24m does not have
25        to read the entire input file before  starting,  so  with  large  input
26        files  it  starts  up  faster than text editors like \e[4mvi\e[24m (1).  \e[4mLess\e[24m uses
27        termcap (or terminfo on some systems), so it can run on  a  variety  of
28        terminals.   There is even limited support for hardcopy terminals.  (On
29        a hardcopy terminal, lines which should be printed at the  top  of  the
30        screen are prefixed with a caret.)
31
32        Commands  are based on both \e[4mmore\e[24m and \e[4mvi.\e[24m  Commands may be preceded by a
33        decimal number, called N in the descriptions below.  The number is used
34        by some commands, as indicated.
35
36
37 \e[1mCOMMANDS\e[0m
38        In  the following descriptions, ^X means control-X.  ESC stands for the
39        ESCAPE  key;  for  example  ESC-v  means  the  two  character  sequence
40        "ESCAPE", then "v".
41
42        h or H Help:  display  a  summary of these commands.  If you forget all
43               the other commands, remember this one.
44
45        SPACE or ^V or f or ^F
46               Scroll forward N  lines,  default  one  window  (see  option  -z
47               below).   If  N  is  more  than  the screen size, only the final
48               screenful is displayed.  Warning: some systems use ^V as a  spe-
49               cial literalization character.
50
51        z      Like  SPACE,  but  if  N is specified, it becomes the new window
52               size.
53
54        ESC-SPACE
55               Like SPACE, but scrolls a full screenful,  even  if  it  reaches
56               end-of-file in the process.
57
58        ENTER or RETURN or ^N or e or ^E or j or ^J
59               Scroll  forward N lines, default 1.  The entire N lines are dis-
60               played, even if N is more than the screen size.
61
62        d or ^D
63               Scroll forward N lines, default one half of the screen size.  If
64               N  is specified, it becomes the new default for subsequent d and
65               u commands.
66
67        b or ^B or ESC-v
68               Scroll backward N lines,  default  one  window  (see  option  -z
69               below).   If  N  is  more  than  the screen size, only the final
70               screenful is displayed.
71
72        w      Like ESC-v, but if N is specified, it  becomes  the  new  window
73               size.
74
75        y or ^Y or ^P or k or ^K
76               Scroll backward N lines, default 1.  The entire N lines are dis-
77               played, even if N is more than the screen size.   Warning:  some
78               systems use ^Y as a special job control character.
79
80        u or ^U
81               Scroll  backward  N  lines, default one half of the screen size.
82               If N is specified, it becomes the new default for  subsequent  d
83               and u commands.
84
85        ESC-) or RIGHTARROW
86               Scroll  horizontally right N characters, default half the screen
87               width (see the -# option).  If  a  number  N  is  specified,  it
88               becomes  the  default  for  future RIGHTARROW and LEFTARROW com-
89               mands.  While the text is scrolled, it acts  as  though  the  -S
90               option (chop lines) were in effect.
91
92        ESC-( or LEFTARROW
93               Scroll  horizontally  left N characters, default half the screen
94               width (see the -# option).  If  a  number  N  is  specified,  it
95               becomes  the  default  for  future RIGHTARROW and LEFTARROW com-
96               mands.
97
98        r or ^R or ^L
99               Repaint the screen.
100
101        R      Repaint the screen, discarding any buffered  input.   Useful  if
102               the file is changing while it is being viewed.
103
104        F      Scroll  forward, and keep trying to read when the end of file is
105               reached.  Normally this command would be used  when  already  at
106               the  end of the file.  It is a way to monitor the tail of a file
107               which is growing while it is being  viewed.   (The  behavior  is
108               similar to the "tail -f" command.)
109
110        g or < or ESC-<
111               Go to line N in the file, default 1 (beginning of file).  (Warn-
112               ing: this may be slow if N is large.)
113
114        G or > or ESC->
115               Go to line N in the file, default the end of the  file.   (Warn-
116               ing:  this  may  be slow if N is large, or if N is not specified
117               and standard input, rather than a file, is being read.)
118
119        p or % Go to a position N percent into the file.  N should be between 0
120               and 100, and may contain a decimal point.
121
122        P      Go to the line containing byte offset N in the file.
123
124        {      If a left curly bracket appears in the top line displayed on the
125               screen, the { command  will  go  to  the  matching  right  curly
126               bracket.   The matching right curly bracket is positioned on the
127               bottom line of the screen.  If there is more than one left curly
128               bracket  on  the top line, a number N may be used to specify the
129               N-th bracket on the line.
130
131        }      If a right curly bracket appears in the bottom line displayed on
132               the  screen,  the  }  command will go to the matching left curly
133               bracket.  The matching left curly bracket is positioned  on  the
134               top  line  of the screen.  If there is more than one right curly
135               bracket on the top line, a number N may be used to  specify  the
136               N-th bracket on the line.
137
138        (      Like {, but applies to parentheses rather than curly brackets.
139
140        )      Like }, but applies to parentheses rather than curly brackets.
141
142        [      Like  {, but applies to square brackets rather than curly brack-
143               ets.
144
145        ]      Like }, but applies to square brackets rather than curly  brack-
146               ets.
147
148        ESC-^F Followed  by two characters, acts like {, but uses the two char-
149               acters as open and close brackets, respectively.   For  example,
150               "ESC  ^F < >" could be used to go forward to the > which matches
151               the < in the top displayed line.
152
153        ESC-^B Followed by two characters, acts like }, but uses the two  char-
154               acters  as  open and close brackets, respectively.  For example,
155               "ESC ^B < >" could be used to go backward to the < which matches
156               the > in the bottom displayed line.
157
158        m      Followed  by  any  lowercase  letter, marks the current position
159               with that letter.
160
161        '      (Single quote.)  Followed by any lowercase  letter,  returns  to
162               the position which was previously marked with that letter.  Fol-
163               lowed by another single quote, returns to the position at  which
164               the last "large" movement command was executed.  Followed by a ^
165               or $, jumps to the beginning or end of  the  file  respectively.
166               Marks  are  preserved when a new file is examined, so the ' com-
167               mand can be used to switch between input files.
168
169        ^X^X   Same as single quote.
170
171        /pattern
172               Search forward in the file for the N-th line containing the pat-
173               tern.  N defaults to 1.  The pattern is a regular expression, as
174               recognized by the regular expression library  supplied  by  your
175               system.   The search starts at the first line displayed (but see
176               the -a and -j options, which change this).
177
178               Certain characters are special if entered at  the  beginning  of
179               the  pattern;  they modify the type of search rather than become
180               part of the pattern:
181
182               ^N or !
183                      Search for lines which do NOT match the pattern.
184
185               ^E or *
186                      Search multiple files.  That is, if  the  search  reaches
187                      the  END of the current file without finding a match, the
188                      search continues in the next file  in  the  command  line
189                      list.
190
191               ^F or @
192                      Begin  the  search at the first line of the FIRST file in
193                      the command line list, regardless of  what  is  currently
194                      displayed  on  the screen or the settings of the -a or -j
195                      options.
196
197               ^K     Highlight any text which matches the pattern on the  cur-
198                      rent screen, but don't move to the first match (KEEP cur-
199                      rent position).
200
201               ^R     Don't interpret regular expression  metacharacters;  that
202                      is, do a simple textual comparison.
203
204        ?pattern
205               Search  backward  in  the  file for the N-th line containing the
206               pattern.  The search starts at the line immediately  before  the
207               top line displayed.
208
209               Certain characters are special as in the / command:
210
211               ^N or !
212                      Search for lines which do NOT match the pattern.
213
214               ^E or *
215                      Search  multiple  files.   That is, if the search reaches
216                      the beginning of  the  current  file  without  finding  a
217                      match,  the  search continues in the previous file in the
218                      command line list.
219
220               ^F or @
221                      Begin the search at the last line of the last file in the
222                      command  line  list, regardless of what is currently dis-
223                      played on the screen or the settings  of  the  -a  or  -j
224                      options.
225
226               ^K     As in forward searches.
227
228               ^R     As in forward searches.
229
230        ESC-/pattern
231               Same as "/*".
232
233        ESC-?pattern
234               Same as "?*".
235
236        n      Repeat  previous  search, for N-th line containing the last pat-
237               tern.  If the previous search was modified by ^N, the search  is
238               made  for the N-th line NOT containing the pattern.  If the pre-
239               vious search was modified by ^E, the  search  continues  in  the
240               next  (or  previous)  file if not satisfied in the current file.
241               If the previous search was modified by ^R, the  search  is  done
242               without  using  regular  expressions.  There is no effect if the
243               previous search was modified by ^F or ^K.
244
245        N      Repeat previous search, but in the reverse direction.
246
247        ESC-n  Repeat previous  search,  but  crossing  file  boundaries.   The
248               effect is as if the previous search were modified by *.
249
250        ESC-N  Repeat  previous search, but in the reverse direction and cross-
251               ing file boundaries.
252
253        ESC-u  Undo search highlighting.   Turn  off  highlighting  of  strings
254               matching the current search pattern.  If highlighting is already
255               off because of a previous ESC-u command, turn highlighting  back
256               on.   Any  search  command  will also turn highlighting back on.
257               (Highlighting can also be disabled by toggling the -G option; in
258               that case search commands do not turn highlighting back on.)
259
260        &pattern
261               Display  only  lines which match the pattern; lines which do not
262               match the pattern are not displayed.  If pattern  is  empty  (if
263               you  type  &  immediately  followed  by ENTER), any filtering is
264               turned off, and all lines are displayed.  While filtering is  in
265               effect,  an  ampersand  is  displayed  at  the  beginning of the
266               prompt, as a reminder that some lines in the file may be hidden.
267
268               Certain characters are special as in the / command:
269
270               ^N or !
271                      Display only lines which do NOT match the pattern.
272
273               ^R     Don't interpret regular expression  metacharacters;  that
274                      is, do a simple textual comparison.
275
276        :e [filename]
277               Examine  a  new file.  If the filename is missing, the "current"
278               file (see the :n and :p commands below) from the list  of  files
279               in  the  command line is re-examined.  A percent sign (%) in the
280               filename is replaced by the name of the current file.   A  pound
281               sign  (#)  is  replaced  by  the name of the previously examined
282               file.   However,  two  consecutive  percent  signs  are   simply
283               replaced with a single percent sign.  This allows you to enter a
284               filename that contains a percent sign in the  name.   Similarly,
285               two  consecutive  pound  signs  are replaced with a single pound
286               sign.  The filename is inserted into the command  line  list  of
287               files  so  that it can be seen by subsequent :n and :p commands.
288               If the filename consists of several files, they are all inserted
289               into  the  list  of files and the first one is examined.  If the
290               filename contains one or more spaces, the entire filename should
291               be enclosed in double quotes (also see the -" option).
292
293        ^X^V or E
294               Same  as :e.  Warning: some systems use ^V as a special literal-
295               ization character.  On such systems, you may not be able to  use
296               ^V.
297
298        :n     Examine  the next file (from the list of files given in the com-
299               mand line).  If a number N is specified, the N-th next  file  is
300               examined.
301
302        :p     Examine the previous file in the command line list.  If a number
303               N is specified, the N-th previous file is examined.
304
305        :x     Examine the first file in the command line list.  If a number  N
306               is specified, the N-th file in the list is examined.
307
308        :d     Remove the current file from the list of files.
309
310        t      Go  to the next tag, if there were more than one matches for the
311               current tag.  See the -t option for more details about tags.
312
313        T      Go to the previous tag, if there were more than one matches  for
314               the current tag.
315
316        = or ^G or :f
317               Prints  some  information about the file being viewed, including
318               its name and the line number and byte offset of the bottom  line
319               being  displayed.  If possible, it also prints the length of the
320               file, the number of lines in the file and  the  percent  of  the
321               file above the last displayed line.
322
323        -      Followed  by one of the command line option letters (see OPTIONS
324               below), this will change the setting of that option and print  a
325               message  describing  the  new  setting.   If a ^P (CONTROL-P) is
326               entered immediately after the dash, the setting of the option is
327               changed  but  no message is printed.  If the option letter has a
328               numeric value (such as -b or -h), or a string value (such as  -P
329               or  -t), a new value may be entered after the option letter.  If
330               no new value is entered, a message describing the  current  set-
331               ting is printed and nothing is changed.
332
333        --     Like  the  -  command, but takes a long option name (see OPTIONS
334               below) rather than a single option letter.  You must press ENTER
335               or  RETURN after typing the option name.  A ^P immediately after
336               the second dash suppresses printing of a message describing  the
337               new setting, as in the - command.
338
339        -+     Followed  by  one  of  the command line option letters this will
340               reset the option to its default  setting  and  print  a  message
341               describing  the  new  setting.  (The "-+\e[4mX\e[24m" command does the same
342               thing as "-+\e[4mX\e[24m" on the command line.)  This  does  not  work  for
343               string-valued options.
344
345        --+    Like  the -+ command, but takes a long option name rather than a
346               single option letter.
347
348        -!     Followed by one of the command line option  letters,  this  will
349               reset  the  option  to the "opposite" of its default setting and
350               print a message describing the new setting.  This does not  work
351               for numeric or string-valued options.
352
353        --!    Like  the -! command, but takes a long option name rather than a
354               single option letter.
355
356        _      (Underscore.)  Followed by one of the command line  option  let-
357               ters,  this  will print a message describing the current setting
358               of that option.  The setting of the option is not changed.
359
360        __     (Double underscore.)  Like the _ (underscore) command, but takes
361               a long option name rather than a single option letter.  You must
362               press ENTER or RETURN after typing the option name.
363
364        +cmd   Causes the specified cmd to be executed each time a new file  is
365               examined.  For example, +G causes \e[4mless\e[24m to initially display each
366               file starting at the end rather than the beginning.
367
368        V      Prints the version number of \e[4mless\e[24m being run.
369
370        q or Q or :q or :Q or ZZ
371               Exits \e[4mless.\e[0m
372
373        The following four commands may or may not be valid, depending on  your
374        particular installation.
375
376        v      Invokes  an  editor  to edit the current file being viewed.  The
377               editor is taken from the environment variable VISUAL if defined,
378               or  EDITOR if VISUAL is not defined, or defaults to "vi" if nei-
379               ther VISUAL nor EDITOR is defined.  See also the  discussion  of
380               LESSEDIT under the section on PROMPTS below.
381
382        ! shell-command
383               Invokes  a shell to run the shell-command given.  A percent sign
384               (%) in the command is replaced by the name of the current  file.
385               A pound sign (#) is replaced by the name of the previously exam-
386               ined file.  "!!" repeats the last shell command.   "!"  with  no
387               shell  command  simply  invokes  a  shell.  On Unix systems, the
388               shell is taken from the environment variable SHELL, or  defaults
389               to  "sh".   On  MS-DOS and OS/2 systems, the shell is the normal
390               command processor.
391
392        | <m> shell-command
393               <m> represents any mark letter.  Pipes a section  of  the  input
394               file  to the given shell command.  The section of the file to be
395               piped is between the first line on the current  screen  and  the
396               position  marked by the letter.  <m> may also be ^ or $ to indi-
397               cate beginning or end of file respectively.  If <m> is . or new-
398               line, the current screen is piped.
399
400        s filename
401               Save  the  input  to  a file.  This only works if the input is a
402               pipe, not an ordinary file.
403
404 \e[1mOPTIONS\e[0m
405        Command line options are described below.  Most options may be  changed
406        while \e[4mless\e[24m is running, via the "-" command.
407
408        Most  options  may be given in one of two forms: either a dash followed
409        by a single letter, or two dashes followed by a long  option  name.   A
410        long  option  name  may  be  abbreviated as long as the abbreviation is
411        unambiguous.  For example, --quit-at-eof may be abbreviated --quit, but
412        not --qui, since both --quit-at-eof and --quiet begin with --qui.  Some
413        long option names are in uppercase, such as --QUIT-AT-EOF, as  distinct
414        from  --quit-at-eof.  Such option names need only have their first let-
415        ter capitalized; the remainder of the name may be in either case.   For
416        example, --Quit-at-eof is equivalent to --QUIT-AT-EOF.
417
418        Options are also taken from the environment variable "LESS".  For exam-
419        ple, to avoid typing "less -options ..." each time \e[4mless\e[24m is invoked, you
420        might tell \e[4mcsh:\e[0m
421
422        setenv LESS "-options"
423
424        or if you use \e[4msh:\e[0m
425
426        LESS="-options"; export LESS
427
428        On  MS-DOS,  you don't need the quotes, but you should replace any per-
429        cent signs in the options string by double percent signs.
430
431        The environment variable is parsed before the command line, so  command
432        line  options  override  the  LESS  environment variable.  If an option
433        appears in the LESS variable, it can be reset to its default  value  on
434        the command line by beginning the command line option with "-+".
435
436        For  options like -P or -D which take a following string, a dollar sign
437        ($) must be used to signal the end of the string.  For example, to  set
438        two  -D  options  on  MS-DOS, you must have a dollar sign between them,
439        like this:
440
441        LESS="-Dn9.1$-Ds4.1"
442
443
444        -? or --help
445               This option displays a summary of the commands accepted by  \e[4mless\e[0m
446               (the  same  as  the  h  command).   (Depending on how your shell
447               interprets the question mark, it may be necessary to  quote  the
448               question mark, thus: "-\?".)
449
450        -a or --search-skip-screen
451               By  default,  forward searches start at the top of the displayed
452               screen and backwards searches start at the bottom  of  the  dis-
453               played  screen (except for repeated searches invoked by the n or
454               N commands, which  start  after  or  before  the  "target"  line
455               respectively; see the -j option for more about the target line).
456               The -a option causes forward searches to instead  start  at  the
457               bottom  of  the screen and backward searches to start at the top
458               of the screen, thus skipping all lines displayed on the screen.
459
460        -A or --SEARCH-SKIP-SCREEN
461               Causes all forward searches (not just non-repeated searches)  to
462               start  just  after the target line, and all backward searches to
463               start just before the target line.  Thus, forward searches  will
464               skip part of the displayed screen (from the first line up to and
465               including the target line).  Similarly backwards  searches  will
466               skip the displayed screen from the last line up to and including
467               the target line.  This was the default behavior in less versions
468               prior to 441.
469
470        -b\e[4mn\e[24m or --buffers=\e[4mn\e[0m
471               Specifies  the  amount  of  buffer  space \e[4mless\e[24m will use for each
472               file, in units of kilobytes (1024 bytes).   By  default  64K  of
473               buffer  space  is used for each file (unless the file is a pipe;
474               see the -B option).  The -b  option  specifies  instead  that  \e[4mn\e[0m
475               kilobytes of buffer space should be used for each file.  If \e[4mn\e[24m is
476               -1, buffer space is unlimited; that is, the entire file  can  be
477               read into memory.
478
479        -B or --auto-buffers
480               By default, when data is read from a pipe, buffers are allocated
481               automatically as needed.  If a large amount of data is read from
482               the  pipe,  this  can cause a large amount of memory to be allo-
483               cated.  The -B option disables this automatic allocation of buf-
484               fers  for pipes, so that only 64K (or the amount of space speci-
485               fied by the -b option) is used for the pipe.  Warning: use of -B
486               can  result  in  erroneous display, since only the most recently
487               viewed part of the piped data is kept  in  memory;  any  earlier
488               data is lost.
489
490        -c or --clear-screen
491               Causes  full  screen  repaints  to  be painted from the top line
492               down.  By default, full screen repaints are  done  by  scrolling
493               from the bottom of the screen.
494
495        -C or --CLEAR-SCREEN
496               Same as -c, for compatibility with older versions of \e[4mless.\e[0m
497
498        -d or --dumb
499               The -d option suppresses the error message normally displayed if
500               the terminal is dumb; that is, lacks some important  capability,
501               such as the ability to clear the screen or scroll backward.  The
502               -d option does not otherwise change the behavior of  \e[4mless\e[24m  on  a
503               dumb terminal.
504
505        -D\e[1mx\e[4m\e[22mcolor\e[24m or --color=\e[1mx\e[4m\e[22mcolor\e[0m
506               [MS-DOS only] Sets the color of the text displayed.  \e[1mx \e[22mis a sin-
507               gle character which selects the type  of  text  whose  color  is
508               being  set: n=normal, s=standout, d=bold, u=underlined, k=blink.
509               \e[4mcolor\e[24m is a pair of numbers separated by  a  period.   The  first
510               number  selects  the foreground color and the second selects the
511               background color of the text.  A single number \e[4mN\e[24m is the same  as
512               \e[4mN.M\e[24m, where \e[4mM\e[24m is the normal background color.
513
514
515        -e or --quit-at-eof
516               Causes  \e[4mless\e[24m  to  automatically  exit the second time it reaches
517               end-of-file.  By default, the only way to exit \e[4mless\e[24m is  via  the
518               "q" command.
519
520        -E or --QUIT-AT-EOF
521               Causes \e[4mless\e[24m to automatically exit the first time it reaches end-
522               of-file.
523
524        -f or --force
525               Forces non-regular files to be opened.  (A non-regular file is a
526               directory  or a device special file.)  Also suppresses the warn-
527               ing message when a binary file is opened.  By default, \e[4mless\e[24m will
528               refuse to open non-regular files.  Note that some operating sys-
529               tems will not allow directories to be read, even if -f is set.
530
531        -F or --quit-if-one-screen
532               Causes \e[4mless\e[24m to automatically exit if the entire file can be dis-
533               played on the first screen.
534
535        -g or --hilite-search
536               Normally,  \e[4mless\e[24m  will highlight ALL strings which match the last
537               search command.  The -g option changes this  behavior  to  high-
538               light  only  the  particular  string which was found by the last
539               search command.  This can cause \e[4mless\e[24m to run somewhat faster than
540               the default.
541
542        -G or --HILITE-SEARCH
543               The  -G  option  suppresses all highlighting of strings found by
544               search commands.
545
546        -h\e[4mn\e[24m or --max-back-scroll=\e[4mn\e[0m
547               Specifies a maximum number of lines to scroll backward.   If  it
548               is necessary to scroll backward more than \e[4mn\e[24m lines, the screen is
549               repainted in a forward direction instead.  (If the terminal does
550               not have the ability to scroll backward, -h0 is implied.)
551
552        -i or --ignore-case
553               Causes searches to ignore case; that is, uppercase and lowercase
554               are considered identical.  This option is ignored if any  upper-
555               case  letters appear in the search pattern; in other words, if a
556               pattern contains uppercase letters, then that  search  does  not
557               ignore case.
558
559        -I or --IGNORE-CASE
560               Like  -i,  but searches ignore case even if the pattern contains
561               uppercase letters.
562
563        -j\e[4mn\e[24m or --jump-target=\e[4mn\e[0m
564               Specifies a line on the screen where the "target" line is to  be
565               positioned.   The  target line is the line specified by any com-
566               mand to search for a pattern, jump to a line number, jump  to  a
567               file percentage or jump to a tag.  The screen line may be speci-
568               fied by a number: the top line on the screen is 1, the  next  is
569               2, and so on.  The number may be negative to specify a line rel-
570               ative to the bottom of the screen: the bottom line on the screen
571               is  -1, the second to the bottom is -2, and so on.  Alternately,
572               the screen line may be specified as a fraction of the height  of
573               the  screen,  starting with a decimal point: .5 is in the middle
574               of the screen, .3 is three tenths down from the first line,  and
575               so  on.  If the line is specified as a fraction, the actual line
576               number is recalculated if the terminal  window  is  resized,  so
577               that  the  target  line remains at the specified fraction of the
578               screen height.  If any form of the -j option  is  used,  forward
579               searches  begin  at  the line immediately after the target line,
580               and backward searches begin at the target line,  unless  changed
581               by  -a or -A.  For example, if "-j4" is used, the target line is
582               the fourth line on the screen, so forward searches begin at  the
583               fifth line on the screen.
584
585        -J or --status-column
586               Displays  a  status  column at the left edge of the screen.  The
587               status column shows the lines that matched the  current  search.
588               The  status  column  is  also  used if the -w or -W option is in
589               effect.
590
591        -k\e[4mfilename\e[24m or --lesskey-file=\e[4mfilename\e[0m
592               Causes \e[4mless\e[24m to open and interpret the named file  as  a  \e[4mlesskey\e[0m
593               (1) file.  Multiple -k options may be specified.  If the LESSKEY
594               or LESSKEY_SYSTEM environment variable is set, or if  a  lesskey
595               file is found in a standard place (see KEY BINDINGS), it is also
596               used as a \e[4mlesskey\e[24m file.
597
598        -K or --quit-on-intr
599               Causes \e[4mless\e[24m to exit immediately (with status 2) when  an  inter-
600               rupt  character  (usually  ^C) is typed.  Normally, an interrupt
601               character causes \e[4mless\e[24m to stop whatever it is doing and return to
602               its  command  prompt.   Note  that  use  of this option makes it
603               impossible to return to the command prompt from the "F" command.
604
605        -L or --no-lessopen
606               Ignore the LESSOPEN environment variable  (see  the  INPUT  PRE-
607               PROCESSOR  section  below).   This option can be set from within
608               \e[4mless\e[24m, but it will apply only to files opened  subsequently,  not
609               to the file which is currently open.
610
611        -m or --long-prompt
612               Causes  \e[4mless\e[24m  to  prompt verbosely (like \e[4mmore\e[24m), with the percent
613               into the file.  By default, \e[4mless\e[24m prompts with a colon.
614
615        -M or --LONG-PROMPT
616               Causes \e[4mless\e[24m to prompt even more verbosely than \e[4mmore.\e[0m
617
618        -n or --line-numbers
619               Suppresses line numbers.  The default (to use line numbers)  may
620               cause  \e[4mless\e[24m  to run more slowly in some cases, especially with a
621               very large input file.  Suppressing line  numbers  with  the  -n
622               option  will  avoid this problem.  Using line numbers means: the
623               line number will be displayed in the verbose prompt and in the =
624               command,  and the v command will pass the current line number to
625               the editor (see also  the  discussion  of  LESSEDIT  in  PROMPTS
626               below).
627
628        -N or --LINE-NUMBERS
629               Causes  a  line  number to be displayed at the beginning of each
630               line in the display.
631
632        -o\e[4mfilename\e[24m or --log-file=\e[4mfilename\e[0m
633               Causes \e[4mless\e[24m to copy its input to the named file as it  is  being
634               viewed.  This applies only when the input file is a pipe, not an
635               ordinary file.  If the file already exists, \e[4mless\e[24m  will  ask  for
636               confirmation before overwriting it.
637
638        -O\e[4mfilename\e[24m or --LOG-FILE=\e[4mfilename\e[0m
639               The -O option is like -o, but it will overwrite an existing file
640               without asking for confirmation.
641
642               If no log file has been specified, the -o and -O options can  be
643               used  from  within  \e[4mless\e[24m  to specify a log file.  Without a file
644               name, they will simply report the name of the log file.  The "s"
645               command is equivalent to specifying -o from within \e[4mless.\e[0m
646
647        -p\e[4mpattern\e[24m or --pattern=\e[4mpattern\e[0m
648               The  -p  option  on the command line is equivalent to specifying
649               +/\e[4mpattern\e[24m; that is, it tells \e[4mless\e[24m to start at the  first  occur-
650               rence of \e[4mpattern\e[24m in the file.
651
652        -P\e[4mprompt\e[24m or --prompt=\e[4mprompt\e[0m
653               Provides  a  way  to  tailor the three prompt styles to your own
654               preference.  This option would normally be put in the LESS envi-
655               ronment variable, rather than being typed in with each \e[4mless\e[24m com-
656               mand.  Such an option must either be the last option in the LESS
657               variable,  or be terminated by a dollar sign.  -Ps followed by a
658               string changes the default (short) prompt to that  string.   -Pm
659               changes  the  medium  (-m)  prompt.   -PM  changes the long (-M)
660               prompt.  -Ph changes  the  prompt  for  the  help  screen.   -P=
661               changes  the  message printed by the = command.  -Pw changes the
662               message printed while waiting for data (in the F command).   All
663               prompt  strings  consist  of  a  sequence of letters and special
664               escape sequences.  See the section on PROMPTS for more details.
665
666        -q or --quiet or --silent
667               Causes moderately "quiet" operation: the terminal  bell  is  not
668               rung if an attempt is made to scroll past the end of the file or
669               before the beginning of the file.  If the terminal has a "visual
670               bell",  it  is  used  instead.  The bell will be rung on certain
671               other errors, such as typing an invalid character.  The  default
672               is to ring the terminal bell in all such cases.
673
674        -Q or --QUIET or --SILENT
675               Causes  totally  "quiet"  operation:  the terminal bell is never
676               rung.
677
678        -r or --raw-control-chars
679               Causes "raw" control characters to be displayed.  The default is
680               to  display  control  characters  using  the caret notation; for
681               example, a control-A (octal 001) is displayed as "^A".  Warning:
682               when the -r option is used, \e[4mless\e[24m cannot keep track of the actual
683               appearance of the screen (since this depends on how  the  screen
684               responds to each type of control character).  Thus, various dis-
685               play problems may result, such as long lines being split in  the
686               wrong place.
687
688        -R or --RAW-CONTROL-CHARS
689               Like  -r,  but  only ANSI "color" escape sequences are output in
690               "raw" form.  Unlike -r, the screen appearance is maintained cor-
691               rectly  in  most  cases.   ANSI  "color"  escape  sequences  are
692               sequences of the form:
693
694                    ESC [ ... m
695
696               where the "..." is zero or more color  specification  characters
697               For  the  purpose  of  keeping  track of screen appearance, ANSI
698               color escape sequences are assumed to not move the cursor.   You
699               can  make \e[4mless\e[24m think that characters other than "m" can end ANSI
700               color escape  sequences  by  setting  the  environment  variable
701               LESSANSIENDCHARS to the list of characters which can end a color
702               escape sequence.  And you can make \e[4mless\e[24m  think  that  characters
703               other  than the standard ones may appear between the ESC and the
704               m by setting the environment variable  LESSANSIMIDCHARS  to  the
705               list of characters which can appear.
706
707        -s or --squeeze-blank-lines
708               Causes  consecutive  blank  lines  to  be squeezed into a single
709               blank line.  This is useful when viewing \e[4mnroff\e[24m output.
710
711        -S or --chop-long-lines
712               Causes lines longer than the screen width to be  chopped  rather
713               than  folded.  That is, the portion of a long line that does not
714               fit in the screen width is not shown.  The default  is  to  fold
715               long lines; that is, display the remainder on the next line.
716
717        -t\e[4mtag\e[24m or --tag=\e[4mtag\e[0m
718               The -t option, followed immediately by a TAG, will edit the file
719               containing that tag.  For this to work, tag information must  be
720               available;  for  example,  there  may  be  a file in the current
721               directory called "tags", which was previously built by \e[4mctags\e[24m (1)
722               or an equivalent command.  If the environment variable LESSGLOB-
723               ALTAGS is set, it is taken to be the name of a command  compati-
724               ble  with  \e[4mglobal\e[24m  (1), and that command is executed to find the
725               tag.  (See http://www.gnu.org/software/global/global.html).  The
726               -t  option  may  also be specified from within \e[4mless\e[24m (using the -
727               command) as a way of examining a new file.  The command ":t"  is
728               equivalent to specifying -t from within \e[4mless.\e[0m
729
730        -T\e[4mtagsfile\e[24m or --tag-file=\e[4mtagsfile\e[0m
731               Specifies a tags file to be used instead of "tags".
732
733        -u or --underline-special
734               Causes  backspaces  and carriage returns to be treated as print-
735               able characters; that is, they are sent  to  the  terminal  when
736               they appear in the input.
737
738        -U or --UNDERLINE-SPECIAL
739               Causes  backspaces,  tabs  and carriage returns to be treated as
740               control characters; that is, they are handled  as  specified  by
741               the -r option.
742
743               By  default,  if  neither  -u  nor -U is given, backspaces which
744               appear adjacent to an  underscore  character  are  treated  spe-
745               cially:  the  underlined  text is displayed using the terminal's
746               hardware underlining capability.  Also, backspaces which  appear
747               between  two  identical  characters  are  treated specially: the
748               overstruck text is printed using the terminal's  hardware  bold-
749               face  capability.   Other backspaces are deleted, along with the
750               preceding character.  Carriage returns immediately followed by a
751               newline  are  deleted.   other  carriage  returns are handled as
752               specified by the -r option.  Text which is overstruck or  under-
753               lined can be searched for if neither -u nor -U is in effect.
754
755        -V or --version
756               Displays the version number of \e[4mless.\e[0m
757
758        -w or --hilite-unread
759               Temporarily  highlights  the  first  "new"  line after a forward
760               movement of a full page.  The first "new" line is the line imme-
761               diately  following  the  line  previously  at  the bottom of the
762               screen.  Also highlights the target line after a g or p command.
763               The  highlight is removed at the next command which causes move-
764               ment.  The entire line is highlighted, unless the -J  option  is
765               in effect, in which case only the status column is highlighted.
766
767        -W or --HILITE-UNREAD
768               Like -w, but temporarily highlights the first new line after any
769               forward movement command larger than one line.
770
771        -x\e[4mn\e[24m,... or --tabs=\e[4mn\e[24m,...
772               Sets tab stops.  If only one \e[4mn\e[24m is specified, tab stops  are  set
773               at  multiples  of \e[4mn\e[24m.  If multiple values separated by commas are
774               specified, tab stops are set at those positions, and  then  con-
775               tinue  with  the  same  spacing  as  the last two.  For example,
776               \e[4m-x9,17\e[24m will set tabs at positions  9,  17,  25,  33,  etc.   The
777               default for \e[4mn\e[24m is 8.
778
779        -X or --no-init
780               Disables sending the termcap initialization and deinitialization
781               strings to the terminal.  This is  sometimes  desirable  if  the
782               deinitialization  string does something unnecessary, like clear-
783               ing the screen.
784
785        -y\e[4mn\e[24m or --max-forw-scroll=\e[4mn\e[0m
786               Specifies a maximum number of lines to scroll forward.  If it is
787               necessary  to  scroll  forward  more than \e[4mn\e[24m lines, the screen is
788               repainted instead.  The -c or -C option may be used  to  repaint
789               from  the top of the screen if desired.  By default, any forward
790               movement causes scrolling.
791
792        -[z]\e[4mn\e[24m or --window=\e[4mn\e[0m
793               Changes the default scrolling  window  size  to  \e[4mn\e[24m  lines.   The
794               default is one screenful.  The z and w commands can also be used
795               to change the window size.  The "z" may be omitted for  compati-
796               bility with some versions of \e[4mmore.\e[24m  If the number \e[4mn\e[24m is negative,
797               it indicates \e[4mn\e[24m lines less than the  current  screen  size.   For
798               example, if the screen is 24 lines, \e[4m-z-4\e[24m sets the scrolling win-
799               dow to 20 lines.  If the screen is  resized  to  40  lines,  the
800               scrolling window automatically changes to 36 lines.
801
802        -\e[4m"cc\e[24m or --quotes=\e[4mcc\e[0m
803               Changes  the  filename quoting character.  This may be necessary
804               if you are trying to name a file which contains both spaces  and
805               quote  characters.  Followed by a single character, this changes
806               the quote character to that character.  Filenames  containing  a
807               space should then be surrounded by that character rather than by
808               double quotes.  Followed by two  characters,  changes  the  open
809               quote  to the first character, and the close quote to the second
810               character.  Filenames containing a space should then be preceded
811               by  the  open  quote  character  and followed by the close quote
812               character.  Note  that  even  after  the  quote  characters  are
813               changed,  this  option  remains  -" (a dash followed by a double
814               quote).
815
816        -~ or --tilde
817               Normally lines after end of file are displayed as a single tilde
818               (~).  This option causes lines after end of file to be displayed
819               as blank lines.
820
821        -# or --shift
822               Specifies the default number of positions to scroll horizontally
823               in  the RIGHTARROW and LEFTARROW commands.  If the number speci-
824               fied is zero, it sets the default number  of  positions  to  one
825               half of the screen width.  Alternately, the number may be speci-
826               fied as a fraction of the width of the screen, starting  with  a
827               decimal  point:  .5  is  half  of  the screen width, .3 is three
828               tenths of the screen width, and so on.  If the number is  speci-
829               fied  as  a  fraction,  the actual number of scroll positions is
830               recalculated if the terminal window  is  resized,  so  that  the
831               actual  scroll  remains  at the specified fraction of the screen
832               width.
833
834        --no-keypad
835               Disables sending the keypad initialization and  deinitialization
836               strings to the terminal.  This is sometimes useful if the keypad
837               strings make the numeric keypad behave in an undesirable manner.
838
839        --follow-name
840               Normally, if the input file is renamed while  an  F  command  is
841               executing,  \e[4mless\e[24m  will  continue  to display the contents of the
842               original file despite its  name  change.   If  --follow-name  is
843               specified, during an F command \e[4mless\e[24m will periodically attempt to
844               reopen the file by name.  If the reopen succeeds and the file is
845               a  different file from the original (which means that a new file
846               has been created  with  the  same  name  as  the  original  (now
847               renamed) file), \e[4mless\e[24m will display the contents of that new file.
848
849        --     A  command  line  argument of "--" marks the end of option argu-
850               ments.  Any arguments following this are  interpreted  as  file-
851               names.  This can be useful when viewing a file whose name begins
852               with a "-" or "+".
853
854        +      If a command line option begins with \e[1m+\e[22m, the  remainder  of  that
855               option  is taken to be an initial command to \e[4mless.\e[24m  For example,
856               +G tells \e[4mless\e[24m to start at the end of the file  rather  than  the
857               beginning,  and  +/xyz tells it to start at the first occurrence
858               of "xyz" in the file.  As a special case,  +<number>  acts  like
859               +<number>g; that is, it starts the display at the specified line
860               number (however, see the caveat under the  "g"  command  above).
861               If  the  option  starts  with ++, the initial command applies to
862               every file being viewed, not just the first one.  The +  command
863               described previously may also be used to set (or change) an ini-
864               tial command for every file.
865
866
867 \e[1mLINE EDITING\e[0m
868        When entering command line at the bottom of the screen (for example,  a
869        filename for the :e command, or the pattern for a search command), cer-
870        tain keys can be used to manipulate the command  line.   Most  commands
871        have  an alternate form in [ brackets ] which can be used if a key does
872        not exist on a particular keyboard.  (Note  that  the  forms  beginning
873        with  ESC do not work in some MS-DOS and Windows systems because ESC is
874        the line erase character.)  Any of these special keys  may  be  entered
875        literally  by  preceding  it with the "literal" character, either ^V or
876        ^A.  A backslash itself may also be entered literally by  entering  two
877        backslashes.
878
879        LEFTARROW [ ESC-h ]
880               Move the cursor one space to the left.
881
882        RIGHTARROW [ ESC-l ]
883               Move the cursor one space to the right.
884
885        ^LEFTARROW [ ESC-b or ESC-LEFTARROW ]
886               (That  is, CONTROL and LEFTARROW simultaneously.)  Move the cur-
887               sor one word to the left.
888
889        ^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]
890               (That is, CONTROL and RIGHTARROW simultaneously.)  Move the cur-
891               sor one word to the right.
892
893        HOME [ ESC-0 ]
894               Move the cursor to the beginning of the line.
895
896        END [ ESC-$ ]
897               Move the cursor to the end of the line.
898
899        BACKSPACE
900               Delete  the  character  to the left of the cursor, or cancel the
901               command if the command line is empty.
902
903        DELETE or [ ESC-x ]
904               Delete the character under the cursor.
905
906        ^BACKSPACE [ ESC-BACKSPACE ]
907               (That is, CONTROL and  BACKSPACE  simultaneously.)   Delete  the
908               word to the left of the cursor.
909
910        ^DELETE [ ESC-X or ESC-DELETE ]
911               (That  is,  CONTROL and DELETE simultaneously.)  Delete the word
912               under the cursor.
913
914        UPARROW [ ESC-k ]
915               Retrieve the previous command line.
916
917        DOWNARROW [ ESC-j ]
918               Retrieve the next command line.
919
920        TAB    Complete the partial filename to the left of the cursor.  If  it
921               matches  more than one filename, the first match is entered into
922               the command line.  Repeated  TABs  will  cycle  thru  the  other
923               matching filenames.  If the completed filename is a directory, a
924               "/" is appended to the filename.  (On MS-DOS systems, a  "\"  is
925               appended.)   The  environment variable LESSSEPARATOR can be used
926               to specify a different character to append to a directory name.
927
928        BACKTAB [ ESC-TAB ]
929               Like, TAB, but cycles in the reverse direction thru the matching
930               filenames.
931
932        ^L     Complete  the partial filename to the left of the cursor.  If it
933               matches more than one filename, all matches are entered into the
934               command line (if they fit).
935
936        ^U (Unix and OS/2) or ESC (MS-DOS)
937               Delete  the  entire  command  line, or cancel the command if the
938               command line is empty.  If you have changed your line-kill char-
939               acter in Unix to something other than ^U, that character is used
940               instead of ^U.
941
942        ^G     Delete the entire command line and return to the main prompt.
943
944
945 \e[1mKEY BINDINGS\e[0m
946        You may define your own \e[4mless\e[24m commands by using the program \e[4mlesskey\e[24m  (1)
947        to  create  a  lesskey file.  This file specifies a set of command keys
948        and an action associated with each key.  You may also  use  \e[4mlesskey\e[24m  to
949        change the line-editing keys (see LINE EDITING), and to set environment
950        variables.  If the environment variable LESSKEY is set, \e[4mless\e[24m uses  that
951        as  the  name of the lesskey file.  Otherwise, \e[4mless\e[24m looks in a standard
952        place for the lesskey file: On Unix systems, \e[4mless\e[24m looks for  a  lesskey
953        file  called  "$HOME/.less".  On MS-DOS and Windows systems, \e[4mless\e[24m looks
954        for a lesskey file called "$HOME/_less", and if it is not found  there,
955        then looks for a lesskey file called "_less" in any directory specified
956        in the PATH environment variable.  On OS/2 systems, \e[4mless\e[24m  looks  for  a
957        lesskey  file  called  "$HOME/less.ini",  and  if it is not found, then
958        looks for a lesskey file called "less.ini" in any  directory  specified
959        in the INIT environment variable, and if it not found there, then looks
960        for a lesskey file called "less.ini" in any directory specified in  the
961        PATH  environment  variable.   See  the  \e[4mlesskey\e[24m  manual  page for more
962        details.
963
964        A system-wide lesskey file may also be set up to provide key  bindings.
965        If a key is defined in both a local lesskey file and in the system-wide
966        file, key bindings in the local file take precedence over those in  the
967        system-wide  file.   If the environment variable LESSKEY_SYSTEM is set,
968        \e[4mless\e[24m uses that as the name of the system-wide lesskey file.  Otherwise,
969        \e[4mless\e[24m  looks  in  a  standard place for the system-wide lesskey file: On
970        Unix systems, the system-wide lesskey file  is  /usr/local/etc/sysless.
971        (However,  if  \e[4mless\e[24m  was  built with a different sysconf directory than
972        /usr/local/etc, that directory is where the sysless file is found.)  On
973        MS-DOS  and  Windows  systems, the system-wide lesskey file is c:\_sys-
974        less.  On OS/2 systems, the system-wide lesskey file is c:\sysless.ini.
975
976
977 \e[1mINPUT PREPROCESSOR\e[0m
978        You may define an "input preprocessor" for \e[4mless.\e[24m  Before \e[4mless\e[24m  opens  a
979        file, it first gives your input preprocessor a chance to modify the way
980        the contents of the file are displayed.  An input preprocessor is  sim-
981        ply  an executable program (or shell script), which writes the contents
982        of the file to a different file, called the replacement file.  The con-
983        tents  of  the replacement file are then displayed in place of the con-
984        tents of the original file.  However, it will appear to the user as  if
985        the  original  file  is opened; that is, \e[4mless\e[24m will display the original
986        filename as the name of the current file.
987
988        An input preprocessor receives one command line argument, the  original
989        filename,  as  entered  by  the user.  It should create the replacement
990        file, and when finished, print the name of the replacement file to  its
991        standard  output.  If the input preprocessor does not output a replace-
992        ment filename, \e[4mless\e[24m uses the original file, as normal.  The input  pre-
993        processor  is  not  called  when  viewing standard input.  To set up an
994        input preprocessor, set the LESSOPEN environment variable to a  command
995        line  which  will  invoke  your  input preprocessor.  This command line
996        should include one  occurrence  of  the  string  "%s",  which  will  be
997        replaced  by  the  filename  when  the  input  preprocessor  command is
998        invoked.
999
1000        When \e[4mless\e[24m closes a file opened in such a way, it will call another pro-
1001        gram,  called  the  input  postprocessor, which may perform any desired
1002        clean-up action (such as  deleting  the  replacement  file  created  by
1003        LESSOPEN).  This program receives two command line arguments, the orig-
1004        inal filename as entered by the user, and the name of  the  replacement
1005        file.   To set up an input postprocessor, set the LESSCLOSE environment
1006        variable to a command line which will invoke your input  postprocessor.
1007        It  may  include  two  occurrences  of  the  string  "%s"; the first is
1008        replaced with the original name of the file and  the  second  with  the
1009        name of the replacement file, which was output by LESSOPEN.
1010
1011        For  example, on many Unix systems, these two scripts will allow you to
1012        keep files in compressed format, but still let \e[4mless\e[24m view them directly:
1013
1014        lessopen.sh:
1015             #! /bin/sh
1016             case "$1" in
1017             *.Z) uncompress -
1018                  if [ -s /tmp/less.$$ ]; then
1019                       echo /tmp/less.$$
1020                  else
1021                       rm -f /tmp/less.$$
1022                  fi
1023                  ;;
1024             esac
1025
1026        lessclose.sh:
1027             #! /bin/sh
1028             rm $2
1029
1030        To use these scripts, put them both where they can be executed and  set
1031        LESSOPEN="lessopen.sh %s",  and  LESSCLOSE="lessclose.sh %s %s".   More
1032        complex LESSOPEN and LESSCLOSE scripts may be written to  accept  other
1033        types of compressed files, and so on.
1034
1035        It  is  also  possible to set up an input preprocessor to pipe the file
1036        data directly to \e[4mless,\e[24m rather than putting the data into a  replacement
1037        file.  This avoids the need to decompress the entire file before start-
1038        ing to view it.  An input preprocessor that works this way is called an
1039        input  pipe.   An input pipe, instead of writing the name of a replace-
1040        ment file on its standard output, writes the  entire  contents  of  the
1041        replacement  file  on  its standard output.  If the input pipe does not
1042        write any characters on its standard output, then there is no  replace-
1043        ment  file and \e[4mless\e[24m uses the original file, as normal.  To use an input
1044        pipe, make the first character in the LESSOPEN environment  variable  a
1045        vertical  bar  (|)  to  signify that the input preprocessor is an input
1046        pipe.
1047
1048        For example, on many Unix systems, this script will work like the  pre-
1049        vious example scripts:
1050
1051        lesspipe.sh:
1052             #! /bin/sh
1053             case "$1" in
1054             *.Z) uncompress -c $1  2>/dev/null
1055                  ;;
1056             esac
1057
1058        To  use  this  script,  put  it  where  it  can  be  executed  and  set
1059        LESSOPEN="|lesspipe.sh %s".  When an input pipe is  used,  a  LESSCLOSE
1060        postprocessor  can be used, but it is usually not necessary since there
1061        is no replacement file to clean up.  In this case, the replacement file
1062        name passed to the LESSCLOSE postprocessor is "-".
1063
1064        For  compatibility with previous versions of \e[4mless,\e[24m the input preproces-
1065        sor or pipe is not used if \e[4mless\e[24m is viewing standard input.  However, if
1066        the  first  character of LESSOPEN is a dash (-), the input preprocessor
1067        is used on standard input as well as other files.  In  this  case,  the
1068        dash  is  not  considered  to  be part of the preprocessor command.  If
1069        standard input is being viewed, the input preprocessor is passed a file
1070        name  consisting of a single dash.  Similarly, if the first two charac-
1071        ters of LESSOPEN are vertical bar and dash (|-), the input pipe is used
1072        on standard input as well as other files.  Again, in this case the dash
1073        is not considered to be part of the input pipe command.
1074
1075
1076 \e[1mNATIONAL CHARACTER SETS\e[0m
1077        There are three types of characters in the input file:
1078
1079        normal characters
1080               can be displayed directly to the screen.
1081
1082        control characters
1083               should not be displayed directly, but are expected to  be  found
1084               in ordinary text files (such as backspace and tab).
1085
1086        binary characters
1087               should  not  be  displayed  directly  and are not expected to be
1088               found in text files.
1089
1090        A "character set" is simply a description of which characters are to be
1091        considered  normal,  control,  and binary.  The LESSCHARSET environment
1092        variable may be used to select a character set.   Possible  values  for
1093        LESSCHARSET are:
1094
1095        ascii  BS,  TAB, NL, CR, and formfeed are control characters, all chars
1096               with values between 32 and 126 are normal, and  all  others  are
1097               binary.
1098
1099        iso8859
1100               Selects  an  ISO 8859 character set.  This is the same as ASCII,
1101               except characters between 160 and  255  are  treated  as  normal
1102               characters.
1103
1104        latin1 Same as iso8859.
1105
1106        latin9 Same as iso8859.
1107
1108        dos    Selects a character set appropriate for MS-DOS.
1109
1110        ebcdic Selects an EBCDIC character set.
1111
1112        IBM-1047
1113               Selects  an  EBCDIC  character set used by OS/390 Unix Services.
1114               This is the EBCDIC analogue of latin1.  You get similar  results
1115               by setting either LESSCHARSET=IBM-1047 or LC_CTYPE=en_US in your
1116               environment.
1117
1118        koi8-r Selects a Russian character set.
1119
1120        next   Selects a character set appropriate for NeXT computers.
1121
1122        utf-8  Selects the UTF-8 encoding  of  the  ISO  10646  character  set.
1123               UTF-8  is  special  in that it supports multi-byte characters in
1124               the input file.  It is the  only  character  set  that  supports
1125               multi-byte characters.
1126
1127        windows
1128               Selects  a  character  set appropriate for Microsoft Windows (cp
1129               1251).
1130
1131        In rare cases, it may be desired to tailor \e[4mless\e[24m to use a character  set
1132        other  than the ones definable by LESSCHARSET.  In this case, the envi-
1133        ronment variable LESSCHARDEF can be used to define a character set.  It
1134        should be set to a string where each character in the string represents
1135        one character in the character set.  The character "." is  used  for  a
1136        normal  character, "c" for control, and "b" for binary.  A decimal num-
1137        ber may be used for repetition.   For  example,  "bccc4b."  would  mean
1138        character  0  is  binary,  1,  2  and  3 are control, 4, 5, 6 and 7 are
1139        binary, and 8 is normal.  All characters after the last are taken to be
1140        the  same  as  the  last,  so characters 9 through 255 would be normal.
1141        (This is an example, and does not necessarily represent any real  char-
1142        acter set.)
1143
1144        This  table  shows the value of LESSCHARDEF which is equivalent to each
1145        of the possible values for LESSCHARSET:
1146
1147             ascii     8bcccbcc18b95.b
1148             dos       8bcccbcc12bc5b95.b.
1149             ebcdic    5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b
1150                       9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
1151             IBM-1047  4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc
1152                       191.b
1153             iso8859   8bcccbcc18b95.33b.
1154             koi8-r    8bcccbcc18b95.b128.
1155             latin1    8bcccbcc18b95.33b.
1156             next      8bcccbcc18b95.bb125.bb
1157
1158        If neither LESSCHARSET nor LESSCHARDEF is set, but any of  the  strings
1159        "UTF-8",  "UTF8", "utf-8" or "utf8" is found in the LC_ALL, LC_CTYPE or
1160        LANG environment variables, then the default character set is utf-8.
1161
1162        If that string is not found, but your  system  supports  the  \e[4msetlocale\e[0m
1163        interface,  \e[4mless\e[24m  will  use  setlocale  to determine the character set.
1164        setlocale is controlled by setting the  LANG  or  LC_CTYPE  environment
1165        variables.
1166
1167        Finally,  if the \e[4msetlocale\e[24m interface is also not available, the default
1168        character set is latin1.
1169
1170        Control and  binary  characters  are  displayed  in  standout  (reverse
1171        video).  Each such character is displayed in caret notation if possible
1172        (e.g. ^A for control-A).  Caret notation is used only if inverting  the
1173        0100 bit results in a normal printable character.  Otherwise, the char-
1174        acter is displayed as a hex number in angle brackets.  This format  can
1175        be  changed by setting the LESSBINFMT environment variable.  LESSBINFMT
1176        may begin with a "*" and one character to select the display attribute:
1177        "*k"  is  blinking, "*d" is bold, "*u" is underlined, "*s" is standout,
1178        and "*n" is normal.  If LESSBINFMT does not begin with  a  "*",  normal
1179        attribute  is  assumed.   The remainder of LESSBINFMT is a string which
1180        may include one printf-style escape sequence (a % followed by x, X,  o,
1181        d,  etc.).   For  example, if LESSBINFMT is "*u[%x]", binary characters
1182        are displayed in underlined hexadecimal surrounded  by  brackets.   The
1183        default  if  no  LESSBINFMT  is  specified is "*s<%02X>".  Warning: the
1184        result of expanding the character via LESSBINFMT must be less  than  31
1185        characters.
1186
1187        When the character set is utf-8, the LESSUTFBINFMT environment variable
1188        acts similarly to LESSBINFMT but it applies to Unicode code points that
1189        were  successfully  decoded but are unsuitable for display (e.g., unas-
1190        signed code points).  Its default  value  is  "<U+%04lX>".   Note  that
1191        LESSUTFBINFMT  and  LESSBINFMT  share  their  display attribute setting
1192        ("*x") so specifying one will affect both; LESSUTFBINFMT is read  after
1193        LESSBINFMT  so  its  setting,  if any, will have priority.  Problematic
1194        octets in a UTF-8 file (octets of a truncated  sequence,  octets  of  a
1195        complete  but  non-shortest  form  sequence,  illegal octets, and stray
1196        trailing octets) are displayed individually using LESSBINFMT so  as  to
1197        facilitate diagnostic of how the UTF-8 file is ill-formed.
1198
1199
1200 \e[1mPROMPTS\e[0m
1201        The  -P option allows you to tailor the prompt to your preference.  The
1202        string given to the -P option replaces  the  specified  prompt  string.
1203        Certain characters in the string are interpreted specially.  The prompt
1204        mechanism is rather complicated to provide flexibility, but  the  ordi-
1205        nary  user need not understand the details of constructing personalized
1206        prompt strings.
1207
1208        A percent sign followed by a single character is expanded according  to
1209        what the following character is:
1210
1211        %b\e[4mX\e[24m    Replaced  by the byte offset into the current input file.  The b
1212               is followed by a single character (shown as \e[4mX\e[24m above) which spec-
1213               ifies  the line whose byte offset is to be used.  If the charac-
1214               ter is a "t", the byte offset of the top line in the display  is
1215               used, an "m" means use the middle line, a "b" means use the bot-
1216               tom line, a "B" means use the line just after the  bottom  line,
1217               and  a  "j"  means use the "target" line, as specified by the -j
1218               option.
1219
1220        %B     Replaced by the size of the current input file.
1221
1222        %c     Replaced by the column number of the text appearing in the first
1223               column of the screen.
1224
1225        %d\e[4mX\e[24m    Replaced  by  the  page number of a line in the input file.  The
1226               line to be used is determined by the \e[4mX\e[24m, as with the %b option.
1227
1228        %D     Replaced by the number of pages in the input  file,  or  equiva-
1229               lently, the page number of the last line in the input file.
1230
1231        %E     Replaced  by the name of the editor (from the VISUAL environment
1232               variable, or the EDITOR environment variable if  VISUAL  is  not
1233               defined).  See the discussion of the LESSEDIT feature below.
1234
1235        %f     Replaced by the name of the current input file.
1236
1237        %F     Replaced  by the last component of the name of the current input
1238               file.
1239
1240        %i     Replaced by the index of the current file in the list  of  input
1241               files.
1242
1243        %l\e[4mX\e[24m    Replaced  by  the  line number of a line in the input file.  The
1244               line to be used is determined by the \e[4mX\e[24m, as with the %b option.
1245
1246        %L     Replaced by the line number of the last line in the input file.
1247
1248        %m     Replaced by the total number of input files.
1249
1250        %p\e[4mX\e[24m    Replaced by the percent into the current input  file,  based  on
1251               byte  offsets.  The line used is determined by the \e[4mX\e[24m as with the
1252               %b option.
1253
1254        %P\e[4mX\e[24m    Replaced by the percent into the current input  file,  based  on
1255               line  numbers.  The line used is determined by the \e[4mX\e[24m as with the
1256               %b option.
1257
1258        %s     Same as %B.
1259
1260        %t     Causes any trailing spaces to be removed.  Usually used  at  the
1261               end of the string, but may appear anywhere.
1262
1263        %x     Replaced by the name of the next input file in the list.
1264
1265        If any item is unknown (for example, the file size if input is a pipe),
1266        a question mark is printed instead.
1267
1268        The format of the prompt string can be  changed  depending  on  certain
1269        conditions.   A  question mark followed by a single character acts like
1270        an "IF": depending on the following character, a  condition  is  evalu-
1271        ated.   If the condition is true, any characters following the question
1272        mark and condition character, up to  a  period,  are  included  in  the
1273        prompt.   If  the condition is false, such characters are not included.
1274        A colon appearing between the question mark and the period can be  used
1275        to establish an "ELSE": any characters between the colon and the period
1276        are included in the string if and only if the IF  condition  is  false.
1277        Condition characters (which follow a question mark) may be:
1278
1279        ?a     True if any characters have been included in the prompt so far.
1280
1281        ?b\e[4mX\e[24m    True if the byte offset of the specified line is known.
1282
1283        ?B     True if the size of current input file is known.
1284
1285        ?c     True if the text is horizontally shifted (%c is not zero).
1286
1287        ?d\e[4mX\e[24m    True if the page number of the specified line is known.
1288
1289        ?e     True if at end-of-file.
1290
1291        ?f     True  if  there is an input filename (that is, if input is not a
1292               pipe).
1293
1294        ?l\e[4mX\e[24m    True if the line number of the specified line is known.
1295
1296        ?L     True if the line number of the last line in the file is known.
1297
1298        ?m     True if there is more than one input file.
1299
1300        ?n     True if this is the first prompt in a new input file.
1301
1302        ?p\e[4mX\e[24m    True if the percent into the current input file, based  on  byte
1303               offsets, of the specified line is known.
1304
1305        ?P\e[4mX\e[24m    True  if  the percent into the current input file, based on line
1306               numbers, of the specified line is known.
1307
1308        ?s     Same as "?B".
1309
1310        ?x     True if there is a next input file  (that  is,  if  the  current
1311               input file is not the last one).
1312
1313        Any  characters  other  than  the  special  ones (question mark, colon,
1314        period, percent, and backslash) become literally part  of  the  prompt.
1315        Any  of  the special characters may be included in the prompt literally
1316        by preceding it with a backslash.
1317
1318        Some examples:
1319
1320        ?f%f:Standard input.
1321
1322        This prompt prints the filename, if known; otherwise the string  "Stan-
1323        dard input".
1324
1325        ?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...
1326
1327        This  prompt  would print the filename, if known.  The filename is fol-
1328        lowed by the line number, if known, otherwise  the  percent  if  known,
1329        otherwise  the  byte  offset  if  known.  Otherwise, a dash is printed.
1330        Notice how each question mark has a matching  period,  and  how  the  %
1331        after the %pt is included literally by escaping it with a backslash.
1332
1333        ?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x..%t
1334
1335        This  prints  the  filename if this is the first prompt in a file, fol-
1336        lowed by the "file N of N" message if there  is  more  than  one  input
1337        file.   Then,  if  we are at end-of-file, the string "(END)" is printed
1338        followed by the name of the next file, if there is one.   Finally,  any
1339        trailing spaces are truncated.  This is the default prompt.  For refer-
1340        ence, here are the defaults for  the  other  two  prompts  (-m  and  -M
1341        respectively).   Each  is  broken  into  two lines here for readability
1342        only.
1343
1344        ?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x.:
1345             ?pB%pB\%:byte %bB?s/%s...%t
1346
1347        ?f%f .?n?m(file %i of %m) ..?ltlines %lt-%lb?L/%L. :
1348             byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t
1349
1350        And here is the default message produced by the = command:
1351
1352        ?f%f .?m(file %i of %m) .?ltlines %lt-%lb?L/%L. .
1353             byte %bB?s/%s. ?e(END) :?pB%pB\%..%t
1354
1355        The prompt expansion features are also used for another purpose: if  an
1356        environment  variable LESSEDIT is defined, it is used as the command to
1357        be executed when the v command is  invoked.   The  LESSEDIT  string  is
1358        expanded  in the same way as the prompt strings.  The default value for
1359        LESSEDIT is:
1360
1361             %E ?lm+%lm. %f
1362
1363        Note that this expands to the editor name, followed by a + and the line
1364        number,  followed by the file name.  If your editor does not accept the
1365        "+linenumber" syntax, or has other differences  in  invocation  syntax,
1366        the LESSEDIT variable can be changed to modify this default.
1367
1368
1369 \e[1mSECURITY\e[0m
1370        When  the  environment  variable LESSSECURE is set to 1, \e[4mless\e[24m runs in a
1371        "secure" mode.  This means these features are disabled:
1372
1373               !      the shell command
1374
1375               |      the pipe command
1376
1377               :e     the examine command.
1378
1379               v      the editing command
1380
1381               s  -o  log files
1382
1383               -k     use of lesskey files
1384
1385               -t     use of tags files
1386
1387                      metacharacters in filenames, such as *
1388
1389                      filename completion (TAB, ^L)
1390
1391        Less can also be compiled to be permanently in "secure" mode.
1392
1393
1394 \e[1mCOMPATIBILITY WITH MORE\e[0m
1395        If the environment variable LESS_IS_MORE is set to 1, or if the program
1396        is  invoked via a file link named "more", \e[4mless\e[24m behaves (mostly) in con-
1397        formance with the POSIX "more" command specification.   In  this  mode,
1398        less behaves differently in these ways:
1399
1400        The  -e  option  works  differently.  If the -e option is not set, \e[4mless\e[0m
1401        behaves as if the -E option were set.  If the -e option  is  set,  \e[4mless\e[0m
1402        behaves as if the -e and -F options were set.
1403
1404        The  -m  option  works  differently.   If the -m option is not set, the
1405        medium prompt is used, and it is prefixed with the  string  "--More--".
1406        If the -m option is set, the short prompt is used.
1407
1408        The  -n  option acts like the -z option.  The normal behavior of the -n
1409        option is unavailable in this mode.
1410
1411        The parameter to the -p option is taken to be  a  \e[4mless\e[24m  command  rather
1412        than a search pattern.
1413
1414        The  LESS  environment  variable  is  ignored, and the MORE environment
1415        variable is used in its place.
1416
1417
1418 \e[1mENVIRONMENT VARIABLES\e[0m
1419        Environment variables may be specified either in the system environment
1420        as  usual,  or  in  a  \e[4mlesskey\e[24m  (1) file.  If environment variables are
1421        defined in more than one place, variables defined in  a  local  lesskey
1422        file  take precedence over variables defined in the system environment,
1423        which take precedence over variables defined in the system-wide lesskey
1424        file.
1425
1426        COLUMNS
1427               Sets the number of columns on the screen.  Takes precedence over
1428               the number of columns specified by the TERM variable.   (But  if
1429               you  have  a  windowing  system  which  supports  TIOCGWINSZ  or
1430               WIOCGETD, the window system's idea  of  the  screen  size  takes
1431               precedence over the LINES and COLUMNS environment variables.)
1432
1433        EDITOR The name of the editor (used for the v command).
1434
1435        HOME   Name  of  the user's home directory (used to find a lesskey file
1436               on Unix and OS/2 systems).
1437
1438        HOMEDRIVE, HOMEPATH
1439               Concatenation of the HOMEDRIVE and  HOMEPATH  environment  vari-
1440               ables is the name of the user's home directory if the HOME vari-
1441               able is not set (only in the Windows version).
1442
1443        INIT   Name of the user's init directory (used to find a  lesskey  file
1444               on OS/2 systems).
1445
1446        LANG   Language for determining the character set.
1447
1448        LC_CTYPE
1449               Language for determining the character set.
1450
1451        LESS   Options which are passed to \e[4mless\e[24m automatically.
1452
1453        LESSANSIENDCHARS
1454               Characters  which may end an ANSI color escape sequence (default
1455               "m").
1456
1457        LESSANSIMIDCHARS
1458               Characters which may appear between the ESC  character  and  the
1459               end   character  in  an  ANSI  color  escape  sequence  (default
1460               "0123456789;[?!"'#%()*+ ".
1461
1462        LESSBINFMT
1463               Format for displaying non-printable, non-control characters.
1464
1465        LESSCHARDEF
1466               Defines a character set.
1467
1468        LESSCHARSET
1469               Selects a predefined character set.
1470
1471        LESSCLOSE
1472               Command line to invoke the (optional) input-postprocessor.
1473
1474        LESSECHO
1475               Name of the lessecho program (default "lessecho").  The lessecho
1476               program  is needed to expand metacharacters, such as * and ?, in
1477               filenames on Unix systems.
1478
1479        LESSEDIT
1480               Editor prototype string (used for the v command).   See  discus-
1481               sion under PROMPTS.
1482
1483        LESSGLOBALTAGS
1484               Name  of  the command used by the -t option to find global tags.
1485               Normally should be set to "global" if your system has the \e[4mglobal\e[0m
1486               (1) command.  If not set, global tags are not used.
1487
1488        LESSHISTFILE
1489               Name  of  the  history file used to remember search commands and
1490               shell commands between invocations of \e[4mless.\e[24m  If set  to  "-"  or
1491               "/dev/null",  a  history  file  is  not  used.   The  default is
1492               "$HOME/.lesshst" on Unix systems, "$HOME/_lesshst"  on  DOS  and
1493               Windows  systems,  or "$HOME/lesshst.ini" or "$INIT/lesshst.ini"
1494               on OS/2 systems.
1495
1496        LESSHISTSIZE
1497               The maximum number of commands to save in the history file.  The
1498               default is 100.
1499
1500        LESSKEY
1501               Name of the default lesskey(1) file.
1502
1503        LESSKEY_SYSTEM
1504               Name of the default system-wide lesskey(1) file.
1505
1506        LESSMETACHARS
1507               List  of characters which are considered "metacharacters" by the
1508               shell.
1509
1510        LESSMETAESCAPE
1511               Prefix which less will add before each metacharacter in  a  com-
1512               mand  sent  to the shell.  If LESSMETAESCAPE is an empty string,
1513               commands containing metacharacters will not  be  passed  to  the
1514               shell.
1515
1516        LESSOPEN
1517               Command line to invoke the (optional) input-preprocessor.
1518
1519        LESSSECURE
1520               Runs less in "secure" mode.  See discussion under SECURITY.
1521
1522        LESSSEPARATOR
1523               String  to  be  appended to a directory name in filename comple-
1524               tion.
1525
1526        LESSUTFBINFMT
1527               Format for displaying non-printable Unicode code points.
1528
1529        LESS_IS_MORE
1530               Emulate the \e[4mmore\e[24m (1) command.
1531
1532        LINES  Sets the number of lines on the screen.  Takes  precedence  over
1533               the number of lines specified by the TERM variable.  (But if you
1534               have a windowing system which supports TIOCGWINSZ  or  WIOCGETD,
1535               the  window  system's  idea  of the screen size takes precedence
1536               over the LINES and COLUMNS environment variables.)
1537
1538        PATH   User's search path (used to find a lesskey file  on  MS-DOS  and
1539               OS/2 systems).
1540
1541        SHELL  The  shell  used  to execute the ! command, as well as to expand
1542               filenames.
1543
1544        TERM   The type of terminal on which \e[4mless\e[24m is being run.
1545
1546        VISUAL The name of the editor (used for the v command).
1547
1548
1549 \e[1mSEE ALSO\e[0m
1550        lesskey(1)
1551
1552
1553 \e[1mCOPYRIGHT\e[0m
1554        Copyright (C) 1984-2011  Mark Nudelman
1555
1556        less is part of the GNU project and is free software.  You  can  redis-
1557        tribute  it and/or modify it under the terms of either (1) the GNU Gen-
1558        eral Public License as published by the Free  Software  Foundation;  or
1559        (2) the Less License.  See the file README in the less distribution for
1560        more details regarding redistribution.  You should have received a copy
1561        of  the  GNU General Public License along with the source for less; see
1562        the file COPYING.  If not, write to the Free  Software  Foundation,  59
1563        Temple  Place, Suite 330, Boston, MA  02111-1307, USA.  You should also
1564        have received a copy of the Less License; see the file LICENSE.
1565
1566        less is distributed in the hope that it will be useful, but WITHOUT ANY
1567        WARRANTY;  without even the implied warranty of MERCHANTABILITY or FIT-
1568        NESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License  for
1569        more details.
1570
1571
1572 \e[1mAUTHOR\e[0m
1573        Mark Nudelman <markn@greenwoodsoftware.com>
1574        Send  bug  reports  or  comments  to  the  above  address  or  to  bug-
1575        less@gnu.org.
1576        See http://www.greenwoodsoftware.com/less/bugs.html for the latest list
1577        of known bugs in less.
1578        For more information, see the less homepage at
1579        http://www.greenwoodsoftware.com/less.
1580
1581
1582
1583                            Version 444: 09 Jun 2011                    LESS(1)