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