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