xref: /netbsd-src/external/bsd/less/dist/less.man (revision e4a6e799a67c2028562d75b4e61407b22434aa36)
1LESS(1)                     General Commands Manual                    LESS(1)
2
3
4
5NAME
6       less - opposite of more
7
8SYNOPSIS
9       less -?
10       less --help
11       less -V
12       less --version
13       less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
14            [-b space] [-h lines] [-j line] [-k keyfile]
15            [-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
16            [-T tagsfile] [-x tab,...] [-y lines] [-[z] lines]
17            [-# shift] [+[+]cmd] [--] [filename]...
18       (See  the  OPTIONS section for alternate option syntax with long option
19       names.)
20
21DESCRIPTION
22       Less is a program similar to more(1), but which allows  backward  move‐
23       ment in the file as well as forward movement.  Also, less does not have
24       to read the entire input file before  starting,  so  with  large  input
25       files  it  starts  up  faster  than text editors like vi(1).  Less uses
26       termcap (or terminfo on some systems), so it can run on  a  variety  of
27       terminals.   There is even limited support for hardcopy terminals.  (On
28       a hardcopy terminal, lines which should be printed at the  top  of  the
29       screen are prefixed with a caret.)
30
31       Commands  are based on both more and vi.  Commands may be preceded by a
32       decimal number, called N in the descriptions below.  The number is used
33       by some commands, as indicated.
34
35COMMANDS
36       In  the following descriptions, ^X means control-X.  ESC stands for the
37       ESCAPE key; for example ESC-v means the  two  character  sequence  "ES‐
38       CAPE", then "v".
39
40       h or H Help:  display  a  summary of these commands.  If you forget all
41              the other commands, remember this one.
42
43       SPACE or ^V or f or ^F
44              Scroll forward N lines, default one window (see  option  -z  be‐
45              low).  If N is more than the screen size, only the final screen‐
46              ful is displayed.  Warning: some systems use  ^V  as  a  special
47              literalization character.
48
49       z      Like  SPACE,  but  if  N is specified, it becomes the new window
50              size.
51
52       ESC-SPACE
53              Like SPACE, but scrolls a full screenful,  even  if  it  reaches
54              end-of-file in the process.
55
56       ENTER or RETURN or ^N or e or ^E or j or ^J
57              Scroll  forward N lines, default 1.  The entire N lines are dis‐
58              played, even if N is more than the screen size.
59
60       d or ^D
61              Scroll forward N lines, default one half of the screen size.  If
62              N  is specified, it becomes the new default for subsequent d and
63              u commands.
64
65       b or ^B or ESC-v
66              Scroll backward N lines, default one window (see option  -z  be‐
67              low).  If N is more than the screen size, only the final screen‐
68              ful is displayed.
69
70       w      Like ESC-v, but if N is specified, it  becomes  the  new  window
71              size.
72
73       y or ^Y or ^P or k or ^K
74              Scroll backward N lines, default 1.  The entire N lines are dis‐
75              played, even if N is more than the screen size.   Warning:  some
76              systems use ^Y as a special job control character.
77
78       u or ^U
79              Scroll  backward  N  lines, default one half of the screen size.
80              If N is specified, it becomes the new default for  subsequent  d
81              and u commands.
82
83       J      Like j, but continues to scroll beyond the end of the file.
84
85       K or Y Like  k,  but  continues  to  scroll beyond the beginning of the
86              file.
87
88       ESC-) or RIGHTARROW
89              Scroll horizontally right N characters, default half the  screen
90              width  (see  the -# option).  If a number N is specified, it be‐
91              comes the default for future RIGHTARROW and LEFTARROW  commands.
92              While  the  text  is  scrolled,  it acts as though the -S option
93              (chop lines) were in effect.
94
95       ESC-( or LEFTARROW
96              Scroll horizontally left N characters, default half  the  screen
97              width  (see  the -# option).  If a number N is specified, it be‐
98              comes the default for future RIGHTARROW and LEFTARROW commands.
99
100       ESC-} or ^RIGHTARROW
101              Scroll horizontally right to show the end of  the  longest  dis‐
102              played line.
103
104       ESC-{ or ^LEFTARROW
105              Scroll horizontally left back to the first column.
106
107       r or ^R or ^L
108              Repaint the screen.
109
110       R      Repaint  the  screen,  discarding  any buffered input.  That is,
111              reload the current file.  Useful if the file is  changing  while
112              it is being viewed.
113
114       F      Scroll  forward, and keep trying to read when the end of file is
115              reached.  Normally this command would be used  when  already  at
116              the  end of the file.  It is a way to monitor the tail of a file
117              which is growing while it is being  viewed.   (The  behavior  is
118              similar  to  the  "tail  -f" command.)  To stop waiting for more
119              data, enter the interrupt character (usually  ^C).   On  systems
120              which support poll(2) you can also use ^X or the character spec‐
121              ified by the --intr option.  If the input  is  a  pipe  and  the
122              --exit-follow-on-close  option is in effect, less will automati‐
123              cally stop waiting for data when the input side of the  pipe  is
124              closed.
125
126       ESC-F  Like  F,  but  as soon as a line is found which matches the last
127              search pattern, the terminal bell is rung and forward  scrolling
128              stops.
129
130       g or < or ESC-<
131              Go to line N in the file, default 1 (beginning of file).  (Warn‐
132              ing: this may be slow if N is large.)
133
134       G or > or ESC->
135              Go to line N in the file, default the end of the  file.   (Warn‐
136              ing:  this  may  be slow if N is large, or if N is not specified
137              and standard input, rather than a file, is being read.)
138
139       ESC-G  Same as G, except if no number N is specified and the  input  is
140              standard  input,  goes  to  the  last  line  which  is currently
141              buffered.
142
143       p or % Go to a position N percent into the file.  N should be between 0
144              and 100, and may contain a decimal point.
145
146       P      Go to the line containing byte offset N in the file.
147
148       {      If a left curly bracket appears in the top line displayed on the
149              screen, the { command  will  go  to  the  matching  right  curly
150              bracket.   The matching right curly bracket is positioned on the
151              bottom line of the screen.  If there is more than one left curly
152              bracket  on  the top line, a number N may be used to specify the
153              N-th bracket on the line.
154
155       }      If a right curly bracket appears in the bottom line displayed on
156              the  screen,  the  }  command will go to the matching left curly
157              bracket.  The matching left curly bracket is positioned  on  the
158              top  line  of the screen.  If there is more than one right curly
159              bracket on the bottom line, a number N may be  used  to  specify
160              the N-th bracket on the line.
161
162       (      Like {, but applies to parentheses rather than curly brackets.
163
164       )      Like }, but applies to parentheses rather than curly brackets.
165
166       [      Like  {, but applies to square brackets rather than curly brack‐
167              ets.
168
169       ]      Like }, but applies to square brackets rather than curly  brack‐
170              ets.
171
172       ESC-^F Followed  by two characters, acts like {, but uses the two char‐
173              acters as open and close brackets, respectively.   For  example,
174              "ESC  ^F < >" could be used to go forward to the > which matches
175              the < in the top displayed line.
176
177       ESC-^B Followed by two characters, acts like }, but uses the two  char‐
178              acters  as  open and close brackets, respectively.  For example,
179              "ESC ^B < >" could be used to go backward to the < which matches
180              the > in the bottom displayed line.
181
182       m      Followed  by  any lowercase or uppercase letter, marks the first
183              displayed line with that letter.  If the status  column  is  en‐
184              abled  via  the  -J  option,  the status column shows the marked
185              line.
186
187       M      Acts like m, except the last displayed  line  is  marked  rather
188              than the first displayed line.
189
190       '      (Single  quote.)  Followed by any lowercase or uppercase letter,
191              returns to the position which was previously  marked  with  that
192              letter.   Followed by another single quote, returns to the posi‐
193              tion at which the last "large" movement  command  was  executed.
194              Followed  by a ^ or $, jumps to the beginning or end of the file
195              respectively.  Marks are preserved when a new file is  examined,
196              so the ' command can be used to switch between input files.
197
198       ^X^X   Same as single quote.
199
200       ESC-m  Followed  by  any lowercase or uppercase letter, clears the mark
201              identified by that letter.
202
203       /pattern
204              Search forward in the file for the N-th line containing the pat‐
205              tern.  N defaults to 1.  The pattern is a regular expression, as
206              recognized by the regular expression library  supplied  by  your
207              system.   By default, searching is case-sensitive (uppercase and
208              lowercase are considered different); the -i option can  be  used
209              to  change  this.  The search starts at the first line displayed
210              (but see the -a and -j options, which change this).
211
212              Certain characters are special if entered at  the  beginning  of
213              the  pattern;  they modify the type of search rather than become
214              part of the pattern:
215
216              ^N or !
217                     Search for lines which do NOT match the pattern.
218
219              ^E or *
220                     Search multiple files.  That is, if  the  search  reaches
221                     the  END of the current file without finding a match, the
222                     search continues in the next file  in  the  command  line
223                     list.
224
225              ^F or @
226                     Begin  the  search at the first line of the FIRST file in
227                     the command line list, regardless of  what  is  currently
228                     displayed  on  the screen or the settings of the -a or -j
229                     options.
230
231              ^K     Highlight any text which matches the pattern on the  cur‐
232                     rent screen, but don't move to the first match (KEEP cur‐
233                     rent position).
234
235              ^R     Don't interpret regular expression  metacharacters;  that
236                     is, do a simple textual comparison.
237
238              ^S     Followed  by  a digit N between 1 and 5.  Only text which
239                     has a non-empty match for the N-th parenthesized SUB-PAT‐
240                     TERN will be considered to match the pattern.  (Supported
241                     only if less is built with one of the regular  expression
242                     libraries  posix, pcre, or pcre2.)  Multiple ^S modifiers
243                     can be specified, to match more than one sub-pattern.
244
245              ^W     WRAP around the current file.  That  is,  if  the  search
246                     reaches  the  end  of  the current file without finding a
247                     match, the search continues from the first  line  of  the
248                     current  file up to the line where it started.  If the ^W
249                     modifier is set, the ^E modifier is ignored.
250
251       ?pattern
252              Search backward in the file for the  N-th  line  containing  the
253              pattern.   The search starts at the last line displayed (but see
254              the -a and -j options, which change this).
255
256              Certain characters are special as in the / command:
257
258              ^N or !
259                     Search for lines which do NOT match the pattern.
260
261              ^E or *
262                     Search multiple files.  That is, if  the  search  reaches
263                     the  beginning  of  the  current  file  without finding a
264                     match, the search continues in the previous file  in  the
265                     command line list.
266
267              ^F or @
268                     Begin the search at the last line of the last file in the
269                     command line list, regardless of what is  currently  dis‐
270                     played  on the screen or the settings of the -a or -j op‐
271                     tions.
272
273              ^K     As in forward searches.
274
275              ^R     As in forward searches.
276
277              ^S     As in forward searches.
278
279              ^W     WRAP around the current file.  That  is,  if  the  search
280                     reaches the beginning of the current file without finding
281                     a match, the search continues from the last line  of  the
282                     current file up to the line where it started.
283
284       ESC-/pattern
285              Same as "/*".
286
287       ESC-?pattern
288              Same as "?*".
289
290       n      Repeat  previous  search, for N-th line containing the last pat‐
291              tern.  If the previous search was modified by ^N, the search  is
292              made  for the N-th line NOT containing the pattern.  If the pre‐
293              vious search was modified by ^E, the  search  continues  in  the
294              next  (or  previous)  file if not satisfied in the current file.
295              If the previous search was modified by ^R, the  search  is  done
296              without  using  regular  expressions.  There is no effect if the
297              previous search was modified by ^F or ^K.
298
299       N      Repeat previous search, but in the reverse direction.
300
301       ESC-n  Repeat previous search, but crossing file boundaries.   The  ef‐
302              fect is as if the previous search were modified by *.
303
304       ESC-N  Repeat  previous search, but in the reverse direction and cross‐
305              ing file boundaries.
306
307       ESC-u  Undo search highlighting.   Turn  off  highlighting  of  strings
308              matching the current search pattern.  If highlighting is already
309              off because of a previous ESC-u command, turn highlighting  back
310              on.   Any  search  command  will also turn highlighting back on.
311              (Highlighting can also be disabled by toggling the -G option; in
312              that case search commands do not turn highlighting back on.)
313
314       ESC-U  Like  ESC-u  but  also  clears the saved search pattern.  If the
315              status column is enabled via the  -J  option,  this  clears  all
316              search matches marked in the status column.
317
318       &pattern
319              Display  only  lines which match the pattern; lines which do not
320              match the pattern are not displayed.  If pattern  is  empty  (if
321              you  type  &  immediately  followed  by ENTER), any filtering is
322              turned off, and all lines are displayed.  While filtering is  in
323              effect,  an  ampersand  is  displayed  at  the  beginning of the
324              prompt, as a reminder that some lines in the file may be hidden.
325              Multiple  &  commands  may  be entered, in which case only lines
326              which match all of the patterns will be displayed.
327
328              Certain characters are special as in the / command:
329
330              ^N or !
331                     Display only lines which do NOT match the pattern.
332
333              ^R     Don't interpret regular expression  metacharacters;  that
334                     is, do a simple textual comparison.
335
336       :e [filename]
337              Examine  a  new file.  If the filename is missing, the "current"
338              file (see the :n and :p commands below) from the list  of  files
339              in  the  command line is re-examined.  A percent sign (%) in the
340              filename is replaced by the name of the current file.   A  pound
341              sign  (#)  is  replaced  by  the name of the previously examined
342              file.  However, two consecutive percent  signs  are  simply  re‐
343              placed  with  a single percent sign.  This allows you to enter a
344              filename that contains a percent sign in the  name.   Similarly,
345              two  consecutive  pound  signs  are replaced with a single pound
346              sign.  The filename is inserted into the command  line  list  of
347              files  so  that it can be seen by subsequent :n and :p commands.
348              If the filename consists of several files, they are all inserted
349              into  the  list  of files and the first one is examined.  If the
350              filename contains one or more spaces, the entire filename should
351              be enclosed in double quotes (also see the -" option).
352
353       ^X^V or E
354              Same  as :e.  Warning: some systems use ^V as a special literal‐
355              ization character.  On such systems, you may not be able to  use
356              ^V.
357
358       :n     Examine  the next file (from the list of files given in the com‐
359              mand line).  If a number N is specified, the N-th next  file  is
360              examined.
361
362       :p     Examine the previous file in the command line list.  If a number
363              N is specified, the N-th previous file is examined.
364
365       :x     Examine the first file in the command line list.  If a number  N
366              is specified, the N-th file in the list is examined.
367
368       :d     Remove the current file from the list of files.
369
370       t      Go  to the next tag, if there were more than one matches for the
371              current tag.  See the -t option for more details about tags.
372
373       T      Go to the previous tag, if there were more than one matches  for
374              the current tag.
375
376       = or ^G or :f
377              Prints  some  information about the file being viewed, including
378              its name and the line number and byte offset of the bottom  line
379              being  displayed.  If possible, it also prints the length of the
380              file, the number of lines in the file and  the  percent  of  the
381              file above the last displayed line.
382
383       -      Followed  by one of the command line option letters (see OPTIONS
384              below), this will change the setting of that option and print  a
385              message  describing the new setting.  If a ^P (CONTROL-P) is en‐
386              tered immediately after the dash, the setting of the  option  is
387              changed  but  no message is printed.  If the option letter has a
388              numeric value (such as -b or -h), or a string value (such as  -P
389              or  -t), a new value may be entered after the option letter.  If
390              no new value is entered, a message describing the  current  set‐
391              ting is printed and nothing is changed.
392
393       --     Like  the  -  command, but takes a long option name (see OPTIONS
394              below) rather than a single option letter.  You must press ENTER
395              or  RETURN after typing the option name.  A ^P immediately after
396              the second dash suppresses printing of a message describing  the
397              new setting, as in the - command.
398
399       -+     Followed by one of the command line option letters this will re‐
400              set the option to its default setting and print  a  message  de‐
401              scribing  the  new  setting.   (The  "-+X" command does the same
402              thing as "-+X" on the command line.)  This  does  not  work  for
403              string-valued options.
404
405       --+    Like  the -+ command, but takes a long option name rather than a
406              single option letter.
407
408       -!     Followed by one of the command line option  letters,  this  will
409              reset  the  option  to the "opposite" of its default setting and
410              print a message describing the new setting.  This does not  work
411              for numeric or string-valued options.
412
413       --!    Like  the -! command, but takes a long option name rather than a
414              single option letter.
415
416       _      (Underscore.)  Followed by one of the command line  option  let‐
417              ters,  this  will print a message describing the current setting
418              of that option.  The setting of the option is not changed.
419
420       __     (Double underscore.)  Like the _ (underscore) command, but takes
421              a long option name rather than a single option letter.  You must
422              press ENTER or RETURN after typing the option name.
423
424       +cmd   Causes the specified cmd to be executed each time a new file  is
425              examined.  For example, +G causes less to initially display each
426              file starting at the end rather than the beginning.
427
428       V      Prints the version number of less being run.
429
430       q or Q or :q or :Q or ZZ
431              Exits less.
432
433       The following six commands may or may not be valid, depending  on  your
434       particular installation.
435
436       v      Invokes  an  editor  to edit the current file being viewed.  The
437              editor is taken from the environment variable VISUAL if defined,
438              or  EDITOR if VISUAL is not defined, or defaults to "vi" if nei‐
439              ther VISUAL nor EDITOR is defined.  See also the  discussion  of
440              LESSEDIT under the section on PROMPTS below.
441
442       ! shell-command
443              Invokes  a shell to run the shell-command given.  A percent sign
444              (%) in the command is replaced by the name of the current  file.
445              A pound sign (#) is replaced by the name of the previously exam‐
446              ined file.  "!!" repeats the last shell command.   "!"  with  no
447              shell  command  simply  invokes  a  shell.  On Unix systems, the
448              shell is taken from the environment variable SHELL, or  defaults
449              to  "sh".   On  MS-DOS and OS/2 systems, the shell is the normal
450              command processor.
451
452       # shell-command
453              Similar to the "!" command, except that the command is  expanded
454              in the same way as prompt strings.  For example, the name of the
455              current file would be given as "%f".
456
457       | <m> shell-command
458              <m> represents any mark letter.  Pipes a section  of  the  input
459              file  to the given shell command.  The section of the file to be
460              piped is between the position marked by the letter and the  cur‐
461              rent  screen.  The entire current screen is included, regardless
462              of whether the marked position is before or  after  the  current
463              screen.   <m> may also be ^ or $ to indicate beginning or end of
464              file respectively.  If <m> is . or newline, the  current  screen
465              is piped.
466
467       s filename
468              Save  the  input  to  a file.  This works only if the input is a
469              pipe, not an ordinary file.
470
471       ^X     When the "Waiting for data" message is displayed, such as  while
472              in  the  F  command, pressing ^X will stop less from waiting and
473              return to a prompt.  This may cause less to think that the  file
474              ends  at the current position, so it may be necessary to use the
475              R or F command to see more data.  The --intr option can be  used
476              to  specify  a  different  character to use instead of ^X.  This
477              command works only on systems that support the poll(2) function.
478              On systems without poll(2), the interrupt character (usually ^C)
479              can be used instead.
480
481OPTIONS
482       Command line options are described below.  Most options may be  changed
483       while less is running, via the "-" command.
484
485       Some  options  may be given in one of two forms: either a dash followed
486       by a single letter, or two dashes followed by a long  option  name.   A
487       long  option name may be abbreviated as long as the abbreviation is un‐
488       ambiguous.  For example, --quit-at-eof may be abbreviated  --quit,  but
489       not --qui, since both --quit-at-eof and --quiet begin with --qui.  Some
490       long option names are in uppercase, such as --QUIT-AT-EOF, as  distinct
491       from  --quit-at-eof.  Such option names need only have their first let‐
492       ter capitalized; the remainder of the name may be in either case.   For
493       example, --Quit-at-eof is equivalent to --QUIT-AT-EOF.
494
495       Options are also taken from the environment variable "LESS".  For exam‐
496       ple, to avoid typing "less -options ..." each time less is invoked, you
497       might tell csh:
498
499       setenv LESS "-options"
500
501       or if you use sh:
502
503       LESS="-options"; export LESS
504
505       On  MS-DOS,  you don't need the quotes, but you should replace any per‐
506       cent signs in the options string by double percent signs.
507
508       The environment variable is parsed before the command line, so  command
509       line  options override the LESS environment variable.  If an option ap‐
510       pears in the LESS variable, it can be reset to its default value on the
511       command line by beginning the command line option with "-+".
512
513       Some  options  like -k or -D require a string to follow the option let‐
514       ter.  The string for that option is considered to  end  when  a  dollar
515       sign ($) is found.  For example, you can set two -D options like this:
516
517       LESS="Dn9.1$Ds4.1"
518
519       If  the  --use-backslash  option appears earlier in the options, then a
520       dollar sign or backslash may be included literally in an option  string
521       by preceding it with a backslash.  If the --use-backslash option is not
522       in effect, then backslashes are not treated specially, and there is  no
523       way to include a dollar sign in the option string.
524
525       -? or --help
526              This  option displays a summary of the commands accepted by less
527              (the same as the h command).  (Depending on how your  shell  in‐
528              terprets  the  question  mark,  it may be necessary to quote the
529              question mark, thus: "-\?".)
530
531       -a or --search-skip-screen
532              By default, forward searches start at the top of  the  displayed
533              screen  and  backwards  searches start at the bottom of the dis‐
534              played screen (except for repeated searches invoked by the n  or
535              N  commands,  which  start after or before the "target" line re‐
536              spectively; see the -j option for more about the  target  line).
537              The  -a  option  causes forward searches to instead start at the
538              bottom of the screen and backward searches to start at  the  top
539              of the screen, thus skipping all lines displayed on the screen.
540
541       -A or --SEARCH-SKIP-SCREEN
542              Causes  all forward searches (not just non-repeated searches) to
543              start just after the target line, and all backward  searches  to
544              start  just before the target line.  Thus, forward searches will
545              skip part of the displayed screen (from the first line up to and
546              including  the  target line).  Similarly backwards searches will
547              skip the displayed screen from the last line up to and including
548              the target line.  This was the default behavior in less versions
549              prior to 441.
550
551       -bn or --buffers=n
552              Specifies the amount of buffer space  less  will  use  for  each
553              file,  in  units of kilobytes (1024 bytes).  By default 64 KB of
554              buffer space is used for each file (unless the file is  a  pipe;
555              see  the  -B  option).   The  -b option specifies instead that n
556              kilobytes of buffer space should be used for each file.  If n is
557              -1,  buffer  space is unlimited; that is, the entire file can be
558              read into memory.
559
560       -B or --auto-buffers
561              By default, when data is read from a pipe, buffers are allocated
562              automatically as needed.  If a large amount of data is read from
563              the pipe, this can cause a large amount of memory  to  be  allo‐
564              cated.  The -B option disables this automatic allocation of buf‐
565              fers for pipes, so that only 64 KB (or the amount of space spec‐
566              ified  by  the -b option) is used for the pipe.  Warning: use of
567              -B can result in erroneous display, since only the most recently
568              viewed  part  of  the  piped data is kept in memory; any earlier
569              data is lost.  Lost characters are displayed as question marks.
570
571       -c or --clear-screen
572              Causes full screen repaints to be  painted  from  the  top  line
573              down.   By  default,  full screen repaints are done by scrolling
574              from the bottom of the screen.
575
576       -C or --CLEAR-SCREEN
577              Same as -c, for compatibility with older versions of less.
578
579       -d or --dumb
580              The -d option suppresses the error message normally displayed if
581              the  terminal is dumb; that is, lacks some important capability,
582              such as the ability to clear the screen or scroll backward.  The
583              -d  option  does  not otherwise change the behavior of less on a
584              dumb terminal.
585
586       -Dxcolor or --color=xcolor
587              Changes the color of different parts of the displayed  text.   x
588              is a single character which selects the type of text whose color
589              is being set:
590
591              B      Binary characters.
592
593              C      Control characters.
594
595              E      Errors and informational messages.
596
597              H      Header lines and columns, set via the --header option.
598
599              M      Mark letters in the status column.
600
601              N      Line numbers enabled via the -N option.
602
603              P      Prompts.
604
605              R      The rscroll character.
606
607              S      Search results.
608
609              1-5    The text in a  search  result  which  matches  the  first
610                     through  fifth  parenthesized  sub-pattern.   Sub-pattern
611                     coloring works only if less is built with one of the reg‐
612                     ular expression libraries posix, pcre, or pcre2.
613
614              W      The highlight enabled via the -w option.
615
616              d      Bold text.
617
618              k      Blinking text.
619
620              s      Standout text.
621
622              u      Underlined text.
623
624              The  uppercase  letters  and  digits  can  be used only when the
625              --use-color option is enabled.  When text color is specified  by
626              both  an  uppercase letter and a lowercase letter, the uppercase
627              letter takes precedence.  For example, error messages  are  nor‐
628              mally  displayed  as  standout text.  So if both "s" and "E" are
629              given a color, the "E" color applies to error messages, and  the
630              "s"  color applies to other standout text.  The "d" and "u" let‐
631              ters refer to bold and underline  text  formed  by  overstriking
632              with  backspaces (see the -U option), not to text using ANSI es‐
633              cape sequences with the -R option.
634
635              A lowercase letter may be followed by a + to indicate  that  the
636              normal  format  change  and  the  specified color should both be
637              used.  For example, -Dug displays underlined text as green with‐
638              out  underlining;  the green color has replaced the usual under‐
639              line formatting.  But -Du+g displays  underlined  text  as  both
640              green and in underlined format.
641
642              color is either a 4-bit color string or an 8-bit color string:
643
644              A  4-bit  color string is zero, one or two characters, where the
645              first character specifies the foreground color  and  the  second
646              specifies the background color as follows:
647
648              b      Blue
649
650              c      Cyan
651
652              g      Green
653
654              k      Black
655
656              m      Magenta
657
658              r      Red
659
660              w      White
661
662              y      Yellow
663
664              The  corresponding  uppercase letter denotes a brighter shade of
665              the color.  For example, -DNGk displays line numbers  as  bright
666              green  text on a black background, and -DEbR displays error mes‐
667              sages as blue text on a bright red background.  If either  char‐
668              acter  is a "-" or is omitted, the corresponding color is set to
669              that of normal text.
670
671              An 8-bit color string is one or two decimal  integers  separated
672              by a dot, where the first integer specifies the foreground color
673              and the second specifies the background color.  Each integer  is
674              a  value  between 0 and 255 inclusive which selects a "CSI 38;5"
675              color value (see
676              https://en.wikipedia.org/wiki/ANSI_escape_code#SGR)  If   either
677              integer  is  a "-" or is omitted, the corresponding color is set
678              to that of normal text.  On MS-DOS versions of less, 8-bit color
679              is  not  supported;  instead,  decimal values are interpreted as
680              4-bit CHAR_INFO.Attributes values (see
681              https://docs.microsoft.com/en-us/windows/console/char-info-str).
682
683              On MS-DOS only, the -Da option may be  used  to  specify  strict
684              parsing  of  ANSI  color  (SGR)  sequences when the -R option is
685              used.  Without this  option,  sequences  that  change  text  at‐
686              tributes (bold, underline, etc.) may clear the text color.
687
688       -e or --quit-at-eof
689              Causes  less  to  automatically  exit the second time it reaches
690              end-of-file.  By default, the only way to exit less is  via  the
691              "q" command.
692
693       -E or --QUIT-AT-EOF
694              Causes less to automatically exit the first time it reaches end-
695              of-file.
696
697       -f or --force
698              Forces non-regular files to be opened.  (A non-regular file is a
699              directory  or a device special file.)  Also suppresses the warn‐
700              ing message when a binary file is opened.  By default, less will
701              refuse to open non-regular files.  Note that some operating sys‐
702              tems will not allow directories to be read, even if -f is set.
703
704       -F or --quit-if-one-screen
705              Causes less to automatically exit if the entire file can be dis‐
706              played on the first screen.
707
708       -g or --hilite-search
709              Normally,  less  will highlight ALL strings which match the last
710              search command.  The -g option changes this  behavior  to  high‐
711              light  only  the  particular  string which was found by the last
712              search command.  This can cause less to run somewhat faster than
713              the default.
714
715       -G or --HILITE-SEARCH
716              The  -G  option  suppresses all highlighting of strings found by
717              search commands.
718
719       -hn or --max-back-scroll=n
720              Specifies a maximum number of lines to scroll backward.   If  it
721              is necessary to scroll backward more than n lines, the screen is
722              repainted in a forward direction instead.  (If the terminal does
723              not have the ability to scroll backward, -h0 is implied.)
724
725       -i or --ignore-case
726              Causes searches to ignore case; that is, uppercase and lowercase
727              are considered identical.  This option is ignored if any  upper‐
728              case  letters appear in the search pattern; in other words, if a
729              pattern contains uppercase letters, then that  search  does  not
730              ignore case.
731
732       -I or --IGNORE-CASE
733              Like  -i,  but searches ignore case even if the pattern contains
734              uppercase letters.
735
736       -jn or --jump-target=n
737              Specifies a line on the screen where the "target" line is to  be
738              positioned.   The  target line is the line specified by any com‐
739              mand to search for a pattern, jump to a line number, jump  to  a
740              file percentage or jump to a tag.  The screen line may be speci‐
741              fied by a number: the top line on the screen is 1, the  next  is
742              2, and so on.  The number may be negative to specify a line rel‐
743              ative to the bottom of the screen: the bottom line on the screen
744              is  -1, the second to the bottom is -2, and so on.  Alternately,
745              the screen line may be specified as a fraction of the height  of
746              the  screen,  starting with a decimal point: .5 is in the middle
747              of the screen, .3 is three tenths down from the first line,  and
748              so  on.  If the line is specified as a fraction, the actual line
749              number is recalculated if the terminal window  is  resized.   If
750              any  form  of  the  -j option is used, repeated forward searches
751              (invoked with "n" or "N") begin at the  line  immediately  after
752              the  target  line,  and  repeated backward searches begin at the
753              target line, unless changed by -a or -A.  For example, if  "-j4"
754              is  used,  the  target line is the fourth line on the screen, so
755              forward searches begin at the fifth line on the screen.  However
756              nonrepeated  searches (invoked with "/" or "?")  always begin at
757              the start or end of the current screen respectively.
758
759       -J or --status-column
760              Displays a status column at the left edge of  the  screen.   The
761              character displayed in the status column may be one of:
762
763              >      The line is chopped with the -S option, and the text that
764                     is chopped off beyond the right edge of the  screen  con‐
765                     tains a match for the current search.
766
767              <      The  line  is  horizontally shifted, and the text that is
768                     shifted beyond the left side of  the  screen  contains  a
769                     match for the current search.
770
771              =      The  line  is  both  chopped  and  shifted, and there are
772                     matches beyond both sides of the screen.
773
774              *      There are matches in the visible part  of  the  line  but
775                     none to the right or left of it.
776
777              a-z, A-Z
778                     The  line  has  been marked with the corresponding letter
779                     via the m command.
780
781       -kfilename or --lesskey-file=filename
782              Causes less to open and interpret the named file as a lesskey(1)
783              binary  file.   Multiple  -k  options  may be specified.  If the
784              LESSKEY or LESSKEY_SYSTEM environment variable is set, or  if  a
785              lesskey file is found in a standard place (see KEY BINDINGS), it
786              is also used as a lesskey file.
787
788       --lesskey-src=filename
789              Causes less to open and interpret the named file as a lesskey(1)
790              source  file.   If the LESSKEYIN or LESSKEYIN_SYSTEM environment
791              variable is set, or if a lesskey source file is found in a stan‐
792              dard  place  (see  KEY  BINDINGS),  it is also used as a lesskey
793              source file.  Prior to version 582, the lesskey  program  needed
794              to  be  run to convert a lesskey source file to a lesskey binary
795              file for less to use.  Newer versions of less read  the  lesskey
796              source  file  directly  and ignore the binary file if the source
797              file exists.
798
799       -K or --quit-on-intr
800              Causes less to exit immediately (with status 2) when  an  inter‐
801              rupt  character  (usually  ^C) is typed.  Normally, an interrupt
802              character causes less to stop whatever it is doing and return to
803              its  command  prompt.  Note that use of this option makes it im‐
804              possible to return to the command prompt from the "F" command.
805
806       -L or --no-lessopen
807              Ignore the LESSOPEN environment variable  (see  the  INPUT  PRE‐
808              PROCESSOR  section  below).   This option can be set from within
809              less, but it will apply only to files opened  subsequently,  not
810              to the file which is currently open.
811
812       -m or --long-prompt
813              Causes less to prompt verbosely (like more(1)), with the percent
814              into the file.  By default, less prompts with a colon.
815
816       -M or --LONG-PROMPT
817              Causes less to prompt even more verbosely than more(1).
818
819       -n or --line-numbers
820              Suppresses line numbers.  The default (to use line numbers)  may
821              cause  less  to run more slowly in some cases, especially with a
822              very large input file.  Suppressing line numbers with the -n op‐
823              tion  will  avoid  this  problem.  Using line numbers means: the
824              line number will be displayed in the verbose prompt and in the =
825              command,  and the v command will pass the current line number to
826              the editor (see also the discussion of LESSEDIT in  PROMPTS  be‐
827              low).
828
829       -N or --LINE-NUMBERS
830              Causes  a  line  number to be displayed at the beginning of each
831              line in the display.
832
833       -ofilename or --log-file=filename
834              Causes less to copy its input to the named file as it  is  being
835              viewed.  This applies only when the input file is a pipe, not an
836              ordinary file.  If the file already exists, less  will  ask  for
837              confirmation before overwriting it.
838
839       -Ofilename or --LOG-FILE=filename
840              The -O option is like -o, but it will overwrite an existing file
841              without asking for confirmation.
842
843              If no log file has been specified, the -o and -O options can  be
844              used  from  within  less  to specify a log file.  Without a file
845              name, they will simply report the name of the log file.  The "s"
846              command is equivalent to specifying -o from within less.
847
848       -ppattern or --pattern=pattern
849              The  -p  option  on the command line is equivalent to specifying
850              +/pattern; that is, it tells less to start at the  first  occur‐
851              rence of pattern in the file.
852
853       -Pprompt or --prompt=prompt
854              Provides  a  way  to  tailor the three prompt styles to your own
855              preference.  This option would normally be put in the LESS envi‐
856              ronment variable, rather than being typed in with each less com‐
857              mand.  Such an option must either be the last option in the LESS
858              variable, or be terminated by a dollar sign.
859               -Ps  followed by a string changes the default (short) prompt to
860              that string.
861               -Pm changes the medium (-m) prompt.
862               -PM changes the long (-M) prompt.
863               -Ph changes the prompt for the help screen.
864               -P= changes the message printed by the = command.
865               -Pw changes the message printed while waiting for data (in  the
866              "F" command).
867
868              All  prompt strings consist of a sequence of letters and special
869              escape sequences.  See the section on PROMPTS for more details.
870
871       -q or --quiet or --silent
872              Causes moderately "quiet" operation: the terminal  bell  is  not
873              rung if an attempt is made to scroll past the end of the file or
874              before the beginning of the file.  If the terminal has a "visual
875              bell",  it  is  used  instead.  The bell will be rung on certain
876              other errors, such as typing an invalid character.  The  default
877              is to ring the terminal bell in all such cases.
878
879       -Q or --QUIET or --SILENT
880              Causes  totally  "quiet"  operation:  the terminal bell is never
881              rung.  If the terminal has a "visual bell", it is  used  in  all
882              cases where the terminal bell would have been rung.
883
884       -r or --raw-control-chars
885              Causes "raw" control characters to be displayed.  The default is
886              to display control characters using the caret notation; for  ex‐
887              ample,  a  control-A (octal 001) is displayed as "^A" (with some
888              exceptions as described under the -U option).  Warning: when the
889              -r  option is used, less cannot keep track of the actual appear‐
890              ance of the screen (since this depends on  how  the  screen  re‐
891              sponds  to  each type of control character).  Thus, various dis‐
892              play problems may result, such as long lines being split in  the
893              wrong place.
894
895              USE OF THE -r OPTION IS NOT RECOMMENDED.
896
897       -R or --RAW-CONTROL-CHARS
898              Like -r, but only ANSI "color" escape sequences and OSC 8 hyper‐
899              link sequences are output in "raw" form.  Unlike -r, the  screen
900              appearance  is  maintained correctly, provided that there are no
901              escape sequences in the file other than these  types  of  escape
902              sequences.   Color  escape sequences are only supported when the
903              color is changed within one line, not across  lines.   In  other
904              words,  the beginning of each line is assumed to be normal (non-
905              colored), regardless of any escape sequences in previous  lines.
906              For the purpose of keeping track of screen appearance, these es‐
907              cape sequences are assumed to not move the cursor.
908
909              OSC 8 hyperlinks are sequences of the form:
910
911                   ESC ] 8 ; ... \7
912
913              The terminating sequence may be either a BEL character  (\7)  or
914              the two-character sequence "ESC \".
915
916              ANSI color escape sequences are sequences of the form:
917
918                   ESC [ ... m
919
920              where  the "..." is zero or more color specification characters.
921              You can make less think that characters other than "m"  can  end
922              ANSI  color escape sequences by setting the environment variable
923              LESSANSIENDCHARS to the list of characters which can end a color
924              escape  sequence.   And  you can make less think that characters
925              other than the standard ones may appear between the ESC and  the
926              m  by  setting  the environment variable LESSANSIMIDCHARS to the
927              list of characters which can appear.
928
929       -s or --squeeze-blank-lines
930              Causes consecutive blank lines to  be  squeezed  into  a  single
931              blank line.  This is useful when viewing nroff output.
932
933       -S or --chop-long-lines
934              Causes  lines  longer than the screen width to be chopped (trun‐
935              cated) rather than wrapped.  That is, the portion of a long line
936              that does not fit in the screen width is not displayed until you
937              press RIGHT-ARROW.  The default is to wrap long lines; that  is,
938              display the remainder on the next line.  See also the --wordwrap
939              option.
940
941       -ttag or --tag=tag
942              The -t option, followed immediately by a TAG, will edit the file
943              containing  that tag.  For this to work, tag information must be
944              available; for example, there may be a file in the  current  di‐
945              rectory called "tags", which was previously built by ctags(1) or
946              an equivalent command.  If the environment variable LESSGLOBALT‐
947              AGS  is  set, it is taken to be the name of a command compatible
948              with global(1), and that command is executed to  find  the  tag.
949              (See  http://www.gnu.org/software/global/global.html).   The  -t
950              option may also be specified from within less (using the -  com‐
951              mand)  as  a  way  of examining a new file.  The command ":t" is
952              equivalent to specifying -t from within less.
953
954       -Ttagsfile or --tag-file=tagsfile
955              Specifies a tags file to be used instead of "tags".
956
957       -u or --underline-special
958              Causes backspaces and carriage returns to be treated  as  print‐
959              able  characters;  that  is,  they are sent to the terminal when
960              they appear in the input.
961
962       -U or --UNDERLINE-SPECIAL
963              Causes backspaces, tabs, carriage returns and "formatting  char‐
964              acters" (as defined by Unicode) to be treated as control charac‐
965              ters; that is, they are handled as specified by the -r option.
966
967              By default, if neither -u nor -U is given, backspaces which  ap‐
968              pear  adjacent to an underscore character are treated specially:
969              the underlined text is displayed using the  terminal's  hardware
970              underlining  capability.   Also, backspaces which appear between
971              two identical characters are treated specially:  the  overstruck
972              text is printed using the terminal's hardware boldface capabili‐
973              ty.  Other backspaces are  deleted,  along  with  the  preceding
974              character.   Carriage  returns immediately followed by a newline
975              are deleted.  Other carriage returns are handled as specified by
976              the  -r option.  Unicode formatting characters, such as the Byte
977              Order Mark, are sent to the terminal.  Text which is  overstruck
978              or underlined can be searched for if neither -u nor -U is in ef‐
979              fect.
980
981              See also the --proc-backspace, --proc-tab, and --proc-return op‐
982              tions.
983
984       -V or --version
985              Displays the version number of less.
986
987       -w or --hilite-unread
988              Temporarily  highlights  the  first  "new"  line after a forward
989              movement of a full page.  The first "new" line is the line imme‐
990              diately  following  the  line  previously  at  the bottom of the
991              screen.  Also highlights the target line after a g or p command.
992              The  highlight is removed at the next command which causes move‐
993              ment.  If the --status-line option is in effect, the entire line
994              (the  width  of the screen) is highlighted.  Otherwise, only the
995              text in the line is highlighted, unless the -J option is in  ef‐
996              fect, in which case only the status column is highlighted.
997
998       -W or --HILITE-UNREAD
999              Like -w, but temporarily highlights the first new line after any
1000              forward movement command larger than one line.
1001
1002       -xn,... or --tabs=n,...
1003              Sets tab stops.  If only one n is specified, tab stops  are  set
1004              at  multiples  of n.  If multiple values separated by commas are
1005              specified, tab stops are set at those positions, and  then  con‐
1006              tinue  with  the  same  spacing  as  the last two.  For example,
1007              "-x9,17" will set tabs at positions 9, 17, 25, 33, etc.  The de‐
1008              fault for n is 8.
1009
1010       -X or --no-init
1011              Disables sending the termcap initialization and deinitialization
1012              strings to the terminal.  This is  sometimes  desirable  if  the
1013              deinitialization  string does something unnecessary, like clear‐
1014              ing the screen.
1015
1016       -yn or --max-forw-scroll=n
1017              Specifies a maximum number of lines to scroll forward.  If it is
1018              necessary to scroll forward more than n lines, the screen is re‐
1019              painted instead.  The -c or -C option may  be  used  to  repaint
1020              from  the top of the screen if desired.  By default, any forward
1021              movement causes scrolling.
1022
1023       -zn or --window=n or -n
1024              Changes the default scrolling window size to n lines.   The  de‐
1025              fault  is  one screenful.  The z and w commands can also be used
1026              to change the window size.  The "z" may be omitted for  compati‐
1027              bility  with some versions of more(1).  If the number n is nega‐
1028              tive, it indicates n lines less than the  current  screen  size.
1029              For  example, if the screen is 24 lines, -z-4 sets the scrolling
1030              window to 20 lines.  If the screen is resized to 40  lines,  the
1031              scrolling window automatically changes to 36 lines.
1032
1033       -"cc or --quotes=cc
1034              Changes  the  filename quoting character.  This may be necessary
1035              if you are trying to name a file which contains both spaces  and
1036              quote  characters.  Followed by a single character, this changes
1037              the quote character to that character.  Filenames  containing  a
1038              space should then be surrounded by that character rather than by
1039              double quotes.  Followed by two  characters,  changes  the  open
1040              quote  to the first character, and the close quote to the second
1041              character.  Filenames containing a space should then be preceded
1042              by  the  open  quote  character  and followed by the close quote
1043              character.  Note  that  even  after  the  quote  characters  are
1044              changed,  this  option  remains  -" (a dash followed by a double
1045              quote).
1046
1047       -~ or --tilde
1048              Normally lines after end of file are displayed as a single tilde
1049              (~).  This option causes lines after end of file to be displayed
1050              as blank lines.
1051
1052       -# or --shift
1053              Specifies the default number of positions to scroll horizontally
1054              in  the RIGHTARROW and LEFTARROW commands.  If the number speci‐
1055              fied is zero, it sets the default number  of  positions  to  one
1056              half of the screen width.  Alternately, the number may be speci‐
1057              fied as a fraction of the width of the screen, starting  with  a
1058              decimal  point:  .5  is  half  of  the screen width, .3 is three
1059              tenths of the screen width, and so on.  If the number is  speci‐
1060              fied as a fraction, the actual number of scroll positions is re‐
1061              calculated if the terminal window is resized.
1062
1063       --exit-follow-on-close
1064              When using the "F" command on a pipe,  less  will  automatically
1065              stop  waiting  for  more data when the input side of the pipe is
1066              closed.
1067
1068       --file-size
1069              If --file-size is specified, less will determine the size of the
1070              file  immediately  after opening the file.  Then the "=" command
1071              will display the number of lines in the file.  Normally this  is
1072              not  done, because it can be slow if the input file is non-seek‐
1073              able (such as a pipe) and is large.
1074
1075       --follow-name
1076              Normally, if the input file is renamed while an F command is ex‐
1077              ecuting, less will continue to display the contents of the orig‐
1078              inal file despite its name change.  If --follow-name  is  speci‐
1079              fied,  during an F command less will periodically attempt to re‐
1080              open the file by name.  If the reopen succeeds and the file is a
1081              different  file  from  the original (which means that a new file
1082              has been created with the same name as  the  original  (now  re‐
1083              named) file), less will display the contents of that new file.
1084
1085       --header=N[,M]
1086              Sets  the  number  of  header lines and columns displayed on the
1087              screen.  The value may be of the form "N,M" where N  and  M  are
1088              integers, to set the header lines to N and the header columns to
1089              M, or it may be a single integer "N" which sets the header lines
1090              to  N  and  the  header columns to zero, or it may be ",M" which
1091              sets the header columns to M and the header lines to zero.  When
1092              N is nonzero, the first N lines at the top of the screen are re‐
1093              placed with the first N lines of the file,  regardless  of  what
1094              part of the file are being viewed.  When M is nonzero, the char‐
1095              acters displayed at the beginning of each line are replaced with
1096              the first M characters of the line, even if the rest of the line
1097              is scrolled horizontally.  If either N or M is zero, less  stops
1098              displaying header lines or columns, respectively.  (Note that it
1099              may be necessary to change the setting of the -j option  to  en‐
1100              sure  that  the  target  line  is  not  obscured  by  the header
1101              line(s).)
1102
1103       --incsearch
1104              Subsequent search commands will be "incremental"; that is,  less
1105              will  advance  to the next line containing the search pattern as
1106              each character of the pattern is typed in.
1107
1108       --intr=c
1109              Use the character c instead of ^X to interrupt a read  when  the
1110              "Waiting  for  data"  message  is displayed.  c must be an ASCII
1111              character; that is, one with a value between 1  and  127  inclu‐
1112              sive.   A  caret  followed  by a single character can be used to
1113              specify a control character.
1114
1115       --line-num-width=n
1116              Sets the minimum width of the line number field when the -N  op‐
1117              tion is in effect to n characters.  The default is 7.
1118
1119       --modelines=n
1120              Before  displaying  a  file, less will read the first n lines to
1121              try to find a vim-compatible modeline.  If n is zero, less  does
1122              not try to find modelines.  By using a modeline, the file itself
1123              can specify the tab stops that should be used when viewing it.
1124
1125              A modeline contains, anywhere in the line, a program name ("vi",
1126              "vim",  "ex", or "less"), followed by a colon, possibly followed
1127              by the word "set", and finally followed by zero or  more  option
1128              settings.   If the word "set" is used, option settings are sepa‐
1129              rated by spaces, and end at the first colon.  If the word  "set"
1130              is  not  used, option settings may be separated by either spaces
1131              or colons.  The word "set" is required if the  program  name  is
1132              "less"  but  optional  if any of the other three names are used.
1133              If any option setting is of the form "tabstop=n" or "ts=n", then
1134              tab  stops  are automatically set as if --tabs=n had been given.
1135              See the --tabs description for acceptable values of n.
1136
1137       --mouse
1138              Enables mouse input: scrolling the mouse wheel down  moves  for‐
1139              ward  in  the file, scrolling the mouse wheel up moves backwards
1140              in the file, and clicking the mouse sets the  "#"  mark  to  the
1141              line  where the mouse is clicked.  The number of lines to scroll
1142              when the wheel is moved can be set by the --wheel-lines  option.
1143              Mouse  input works only on terminals which support X11 mouse re‐
1144              porting, and on the Windows version of less.
1145
1146       --MOUSE
1147              Like --mouse, except the direction scrolled on mouse wheel move‐
1148              ment is reversed.
1149
1150       --no-keypad
1151              Disables  sending the keypad initialization and deinitialization
1152              strings to the terminal.  This is sometimes useful if the keypad
1153              strings make the numeric keypad behave in an undesirable manner.
1154
1155       --no-histdups
1156              This  option  changes the behavior so that if a search string or
1157              file name is typed in, and the same string  is  already  in  the
1158              history list, the existing copy is removed from the history list
1159              before the new one is added.  Thus, a given string  will  appear
1160              only  once  in  the history list.  Normally, a string may appear
1161              multiple times.
1162
1163       --no-number-headers
1164              Header lines (defined via the --header option) are not  assigned
1165              line numbers.  Line number 1 is assigned to the first line after
1166              any header lines.
1167
1168       --no-search-headers
1169              Searches do not include header lines or header columns.
1170
1171       --no-vbell
1172              Disables the terminal's visual bell.
1173
1174       --proc-backspace
1175              If set, backspaces are handled as if neither the -u  option  nor
1176              the -U option were set.  That is, a backspace adjacent to an un‐
1177              derscore causes text to be displayed in underline  mode,  and  a
1178              backspace  between  identical  characters  cause text to be dis‐
1179              played in boldface mode.  This option overrides the  -u  and  -U
1180              options,  so  that display of backspaces can be controlled sepa‐
1181              rate from tabs and carriage returns.  If not set, backspace dis‐
1182              play is controlled by the -u and -U options.
1183
1184       --PROC-BACKSPACE
1185              If  set,  backspaces  are  handled as if the -U option were set;
1186              that is backspaces are treated as control characters.
1187
1188       --proc-return
1189              If set, carriage returns are handled as if neither the -u option
1190              nor  the -U option were set.  That is, a carriage return immedi‐
1191              ately before a newline is deleted.  This option overrides the -u
1192              and  -U options, so that display of carriage returns can be con‐
1193              trolled separate from that of backspaces and tabs.  If not  set,
1194              carriage return display is controlled by the -u and -U options.
1195
1196       --PROC-RETURN
1197              If  set,  carriage  returns are handled as if the -U option were
1198              set; that is carriage returns are treated as control characters.
1199
1200       --proc-tab
1201              If set, tabs are handled as if the -U option were not set.  That
1202              is,  tabs  are expanded to spaces.  This option overrides the -U
1203              option, so that display of tabs can be controlled separate  from
1204              that  of  backspaces and carriage returns.  If not set, tab dis‐
1205              play is controlled by the -U options.
1206
1207       --PROC-TAB
1208              If set, tabs are handled as if the -U option were set;  that  is
1209              tabs are treated as control characters.
1210
1211       --redraw-on-quit
1212              When  quitting,  after  sending  the  terminal  deinitialization
1213              string, redraws the entire last screen.  On terminals whose ter‐
1214              minal deinitialization string causes the terminal to switch from
1215              an alternate screen, this makes the last screenful of  the  cur‐
1216              rent file remain visible after less has quit.
1217
1218       --rscroll=c
1219              This  option changes the character used to mark truncated lines.
1220              It may begin with a two-character attribute indicator like LESS‐
1221              BINFMT  does.   If  there is no attribute indicator, standout is
1222              used.  If set to "-", truncated lines are not marked.
1223
1224       --save-marks
1225              Save marks in the history file, so  marks  are  retained  across
1226              different invocations of less.
1227
1228       --search-options=...
1229              Sets  default search modifiers.  The value is a string of one or
1230              more of the characters E, F, K, N, R or W.  Setting any of these
1231              has  the same effect as typing that control character at the be‐
1232              ginning of every search pattern.  For example, setting --search-
1233              options=W  is  the  same  as typing ^W at the beginning of every
1234              pattern.  The value may also contain a digit between  1  and  5,
1235              which has the same effect as typing ^S followed by that digit at
1236              the beginning of every search pattern.  The value  "-"  disables
1237              all default search modifiers.
1238
1239       --show-preproc-errors
1240              If a preprocessor produces data, then exits with a non-zero exit
1241              code, less will display a warning.
1242
1243       --status-col-width=n
1244              Sets the width of the status column when the -J option is in ef‐
1245              fect.  The default is 2 characters.
1246
1247       --status-line
1248              If  a line is marked, the entire line (rather than just the sta‐
1249              tus column) is highlighted.  Also lines highlighted due  to  the
1250              -w option will have the entire line highlighted.  If --use-color
1251              is set, the line is colored rather than highlighted.
1252
1253       --use-backslash
1254              This option changes the interpretations of options which  follow
1255              this one.  After the --use-backslash option, any backslash in an
1256              option string is removed and the following  character  is  taken
1257              literally.   This  allows a dollar sign to be included in option
1258              strings.
1259
1260       --use-color
1261              Enables colored text in various places.  The -D  option  can  be
1262              used  to change the colors.  Colored text works only if the ter‐
1263              minal supports ANSI color escape sequences (as  defined  in  EC‐
1264              MA-48 SGR; see
1265              https://www.ecma-international.org/publications-and-
1266              standards/standards/ecma-48).
1267
1268       --wheel-lines=n
1269              Set the number of lines  to  scroll  when  the  mouse  wheel  is
1270              scrolled  and  the  --mouse or --MOUSE option is in effect.  The
1271              default is 1 line.
1272
1273       --wordwrap
1274              When the -S option is not in use, wrap each line at a  space  or
1275              tab  if possible, so that a word is not split between two lines.
1276              The default is to wrap at any character.
1277
1278       --     A command line argument of "--" marks the end  of  option  argu‐
1279              ments.   Any  arguments  following this are interpreted as file‐
1280              names.  This can be useful when viewing a file whose name begins
1281              with a "-" or "+".
1282
1283       +      If  a  command  line option begins with +, the remainder of that
1284              option is taken to be an initial command to less.  For  example,
1285              +G  tells  less  to start at the end of the file rather than the
1286              beginning, and +/xyz tells it to start at the  first  occurrence
1287              of  "xyz"  in  the file.  As a special case, +<number> acts like
1288              +<number>g; that is, it starts the display at the specified line
1289              number  (however,  see  the caveat under the "g" command above).
1290              If the option starts with ++, the initial command applies to ev‐
1291              ery  file  being  viewed, not just the first one.  The + command
1292              described previously may also be used to set (or change) an ini‐
1293              tial command for every file.
1294
1295LINE EDITING
1296       When  entering a command line at the bottom of the screen (for example,
1297       a filename for the :e command, or the pattern for  a  search  command),
1298       certain keys can be used to manipulate the command line.  Most commands
1299       have an alternate form in [ brackets ] which can be used if a key  does
1300       not  exist  on  a  particular keyboard.  (Note that the forms beginning
1301       with ESC do not work in some MS-DOS and Windows systems because ESC  is
1302       the  line  erase  character.)  Any of these special keys may be entered
1303       literally by preceding it with the "literal" character,  either  ^V  or
1304       ^A.   A  backslash itself may also be entered literally by entering two
1305       backslashes.
1306
1307       LEFTARROW [ ESC-h ]
1308              Move the cursor one space to the left.
1309
1310       RIGHTARROW [ ESC-l ]
1311              Move the cursor one space to the right.
1312
1313       ^LEFTARROW [ ESC-b or ESC-LEFTARROW ]
1314              (That is, CONTROL and LEFTARROW simultaneously.)  Move the  cur‐
1315              sor one word to the left.
1316
1317       ^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]
1318              (That is, CONTROL and RIGHTARROW simultaneously.)  Move the cur‐
1319              sor one word to the right.
1320
1321       HOME [ ESC-0 ]
1322              Move the cursor to the beginning of the line.
1323
1324       END [ ESC-$ ]
1325              Move the cursor to the end of the line.
1326
1327       BACKSPACE
1328              Delete the character to the left of the cursor,  or  cancel  the
1329              command if the command line is empty.
1330
1331       DELETE or [ ESC-x ]
1332              Delete the character under the cursor.
1333
1334       ^BACKSPACE [ ESC-BACKSPACE ]
1335              (That  is,  CONTROL  and  BACKSPACE simultaneously.)  Delete the
1336              word to the left of the cursor.
1337
1338       ^DELETE [ ESC-X or ESC-DELETE ]
1339              (That is, CONTROL and DELETE simultaneously.)  Delete  the  word
1340              under the cursor.
1341
1342       UPARROW [ ESC-k ]
1343              Retrieve  the  previous  command  line.  If you first enter some
1344              text and then press UPARROW, it will retrieve the previous  com‐
1345              mand which begins with that text.
1346
1347       DOWNARROW [ ESC-j ]
1348              Retrieve  the  next  command line.  If you first enter some text
1349              and then press DOWNARROW, it  will  retrieve  the  next  command
1350              which begins with that text.
1351
1352       TAB    Complete  the partial filename to the left of the cursor.  If it
1353              matches more than one filename, the first match is entered  into
1354              the  command  line.   Repeated  TABs  will  cycle thru the other
1355              matching filenames.  If the completed filename is a directory, a
1356              "/"  is  appended to the filename.  (On MS-DOS systems, a "\" is
1357              appended.)  The environment variable LESSSEPARATOR can  be  used
1358              to specify a different character to append to a directory name.
1359
1360       BACKTAB [ ESC-TAB ]
1361              Like, TAB, but cycles in the reverse direction thru the matching
1362              filenames.
1363
1364       ^L     Complete the partial filename to the left of the cursor.  If  it
1365              matches more than one filename, all matches are entered into the
1366              command line (if they fit).
1367
1368       ^U (Unix and OS/2) or ESC (MS-DOS)
1369              Delete the entire command line, or cancel  the  command  if  the
1370              command line is empty.  If you have changed your line-kill char‐
1371              acter in Unix to something other than ^U, that character is used
1372              instead of ^U.
1373
1374       ^G     Delete the entire command line and return to the main prompt.
1375
1376KEY BINDINGS
1377       You  may  define  your  own  less commands by creating a lesskey source
1378       file.  This file specifies a set of command keys and an action  associ‐
1379       ated  with  each  key.   You may also change the line-editing keys (see
1380       LINE EDITING), and set environment variables used  by  less.   See  the
1381       lesskey(1) manual page for details about the file format.
1382
1383       If  the  environment  variable  LESSKEYIN is set, less uses that as the
1384       name of the lesskey source file.  Otherwise, less looks in  a  standard
1385       place  for  the  lesskey source file: On Unix systems, less looks for a
1386       lesskey  file   called   "$XDG_CONFIG_HOME/lesskey"   or   "$HOME/.con‐
1387       fig/lesskey"  or "$HOME/.lesskey".  On MS-DOS and Windows systems, less
1388       looks for a lesskey file called "$HOME/_lesskey",  and  if  it  is  not
1389       found there, then looks for a lesskey file called "_lesskey" in any di‐
1390       rectory specified in the PATH environment variable.  On  OS/2  systems,
1391       less  looks for a lesskey file called "$HOME/lesskey.ini", and if it is
1392       not found, then looks for a lesskey file called  "lesskey.ini"  in  any
1393       directory  specified  in  the  INIT environment variable, and if it not
1394       found there, then looks for a lesskey file called "lesskey.ini" in  any
1395       directory specified in the PATH environment variable.
1396
1397       A  system-wide  lesskey  source  file may also be set up to provide key
1398       bindings.  If a key is defined in both a local lesskey file and in  the
1399       system-wide  file,  key bindings in the local file take precedence over
1400       those  in  the  system-wide  file.    If   the   environment   variable
1401       LESSKEYIN_SYSTEM  is set, less uses that as the name of the system-wide
1402       lesskey file.  Otherwise, less looks in a standard place for  the  sys‐
1403       tem-wide lesskey file: On Unix systems, the system-wide lesskey file is
1404       /usr/local/etc/syslesskey.  (However, if less was built with a  differ‐
1405       ent  sysconf directory than /usr/local/etc, that directory is where the
1406       sysless file is found.)  On MS-DOS and Windows systems, the system-wide
1407       lesskey  file  is  c:\_syslesskey.   On  OS/2  systems, the system-wide
1408       lesskey file is c:\syslesskey.ini.
1409
1410       Previous versions of less (before v582) used lesskey files with a bina‐
1411       ry  format,  produced by the lesskey program. It is no longer necessary
1412       to use the lesskey program.
1413
1414INPUT PREPROCESSOR
1415       You may define an "input preprocessor" for less.  Before less  opens  a
1416       file, it first gives your input preprocessor a chance to modify the way
1417       the contents of the file are displayed.  An input preprocessor is  sim‐
1418       ply  an executable program (or shell script), which writes the contents
1419       of the file to a different file, called the replacement file.  The con‐
1420       tents  of  the replacement file are then displayed in place of the con‐
1421       tents of the original file.  However, it will appear to the user as  if
1422       the  original  file  is opened; that is, less will display the original
1423       filename as the name of the current file.
1424
1425       An input preprocessor receives one command line argument, the  original
1426       filename,  as  entered  by  the user.  It should create the replacement
1427       file, and when finished, print the name of the replacement file to  its
1428       standard  output.  If the input preprocessor does not output a replace‐
1429       ment filename, less uses the original file, as normal.  The input  pre‐
1430       processor  is not called when viewing standard input.  To set up an in‐
1431       put preprocessor, set the LESSOPEN environment variable  to  a  command
1432       line  which  will  invoke  your  input preprocessor.  This command line
1433       should include one occurrence of the string "%s",  which  will  be  re‐
1434       placed by the filename when the input preprocessor command is invoked.
1435
1436       When less closes a file opened in such a way, it will call another pro‐
1437       gram, called the input postprocessor, which  may  perform  any  desired
1438       clean-up  action  (such  as  deleting  the  replacement file created by
1439       LESSOPEN).  This program receives two command line arguments, the orig‐
1440       inal  filename  as entered by the user, and the name of the replacement
1441       file.  To set up an input postprocessor, set the LESSCLOSE  environment
1442       variable  to a command line which will invoke your input postprocessor.
1443       It may include two occurrences of the string "%s";  the  first  is  re‐
1444       placed  with the original name of the file and the second with the name
1445       of the replacement file, which was output by LESSOPEN.
1446
1447       For example, on many Unix systems, these two scripts will allow you  to
1448       keep files in compressed format, but still let less view them directly:
1449
1450       lessopen.sh:
1451            #! /bin/sh
1452            case "$1" in
1453            *.Z) TEMPFILE=$(mktemp)
1454                 uncompress -c $1  >$TEMPFILE  2>/dev/null
1455                 if [ -s $TEMPFILE ]; then
1456                      echo $TEMPFILE
1457                 else
1458                      rm -f $TEMPFILE
1459                 fi
1460                 ;;
1461            esac
1462
1463       lessclose.sh:
1464            #! /bin/sh
1465            rm $2
1466
1467       To  use these scripts, put them both where they can be executed and set
1468       LESSOPEN="lessopen.sh %s",  and  LESSCLOSE="lessclose.sh %s %s".   More
1469       complex  LESSOPEN  and LESSCLOSE scripts may be written to accept other
1470       types of compressed files, and so on.
1471
1472       It is also possible to set up an input preprocessor to  pipe  the  file
1473       data  directly to less, rather than putting the data into a replacement
1474       file.  This avoids the need to decompress the entire file before start‐
1475       ing to view it.  An input preprocessor that works this way is called an
1476       input pipe.  An input pipe, instead of writing the name of  a  replace‐
1477       ment file on its standard output, writes the entire contents of the re‐
1478       placement file on its standard output.  If  the  input  pipe  does  not
1479       write  any characters on its standard output, then there is no replace‐
1480       ment file and less uses the original file, as normal.  To use an  input
1481       pipe,  make  the first character in the LESSOPEN environment variable a
1482       vertical bar (|) to signify that the input  preprocessor  is  an  input
1483       pipe.   As  with  non-pipe input preprocessors, the command string must
1484       contain one occurrence of %s, which is replaced with  the  filename  of
1485       the input file.
1486
1487       For  example, on many Unix systems, this script will work like the pre‐
1488       vious example scripts:
1489
1490       lesspipe.sh:
1491            #! /bin/sh
1492            case "$1" in
1493            *.Z) uncompress -c $1  2>/dev/null
1494                 ;;
1495            *)   exit 1
1496                 ;;
1497            esac
1498            exit $?
1499
1500       To  use  this  script,  put  it  where  it  can  be  executed  and  set
1501       LESSOPEN="|lesspipe.sh %s".
1502
1503       Note that a preprocessor cannot output an empty file, since that is in‐
1504       terpreted as meaning there is no replacement, and the original file  is
1505       used.   To  avoid  this, if LESSOPEN starts with two vertical bars, the
1506       exit status of the script determines the behavior when  the  output  is
1507       empty.   If  the output is empty and the exit status is zero, the empty
1508       output is considered to be replacement text.  If the  output  is  empty
1509       and the exit status is nonzero, the original file is used.  For compat‐
1510       ibility with previous versions of less, if LESSOPEN  starts  with  only
1511       one vertical bar, the exit status of the preprocessor is ignored.
1512
1513       When  an input pipe is used, a LESSCLOSE postprocessor can be used, but
1514       it is usually not necessary since there is no replacement file to clean
1515       up.   In  this  case, the replacement file name passed to the LESSCLOSE
1516       postprocessor is "-".
1517
1518       For compatibility with previous versions of less, the input  preproces‐
1519       sor or pipe is not used if less is viewing standard input.  However, if
1520       the first character of LESSOPEN is a dash (-), the  input  preprocessor
1521       is  used  on  standard input as well as other files.  In this case, the
1522       dash is not considered to be part  of  the  preprocessor  command.   If
1523       standard input is being viewed, the input preprocessor is passed a file
1524       name consisting of a single dash.  Similarly, if the first two  charac‐
1525       ters  of  LESSOPEN  are vertical bar and dash (|-) or two vertical bars
1526       and a dash (||-), the input pipe is used on standard input as  well  as
1527       other files.  Again, in this case the dash is not considered to be part
1528       of the input pipe command.
1529
1530NATIONAL CHARACTER SETS
1531       There are three types of characters in the input file:
1532
1533       normal characters
1534              can be displayed directly to the screen.
1535
1536       control characters
1537              should not be displayed directly, but are expected to  be  found
1538              in ordinary text files (such as backspace and tab).
1539
1540       binary characters
1541              should  not  be  displayed  directly  and are not expected to be
1542              found in text files.
1543
1544       A "character set" is simply a description of which characters are to be
1545       considered  normal,  control,  and binary.  The LESSCHARSET environment
1546       variable may be used to select a character set.   Possible  values  for
1547       LESSCHARSET are:
1548
1549       ascii  BS,  TAB, NL, CR, and formfeed are control characters, all chars
1550              with values between 32 and 126 are normal, and  all  others  are
1551              binary.
1552
1553       iso8859
1554              Selects  an  ISO 8859 character set.  This is the same as ASCII,
1555              except characters between 160 and  255  are  treated  as  normal
1556              characters.
1557
1558       latin1 Same as iso8859.
1559
1560       latin9 Same as iso8859.
1561
1562       dos    Selects a character set appropriate for MS-DOS.
1563
1564       ebcdic Selects an EBCDIC character set.
1565
1566       IBM-1047
1567              Selects  an  EBCDIC  character set used by OS/390 Unix Services.
1568              This is the EBCDIC analogue of latin1.  You get similar  results
1569              by setting either LESSCHARSET=IBM-1047 or LC_CTYPE=en_US in your
1570              environment.
1571
1572       koi8-r Selects a Russian character set.
1573
1574       next   Selects a character set appropriate for NeXT computers.
1575
1576       utf-8  Selects the UTF-8 encoding  of  the  ISO  10646  character  set.
1577              UTF-8  is  special  in that it supports multi-byte characters in
1578              the input file.  It is the only character set that supports mul‐
1579              ti-byte characters.
1580
1581       windows
1582              Selects  a  character  set appropriate for Microsoft Windows (cp
1583              1251).
1584
1585       In rare cases, it may be desired to tailor less to use a character  set
1586       other  than the ones definable by LESSCHARSET.  In this case, the envi‐
1587       ronment variable LESSCHARDEF can be used to define a character set.  It
1588       should be set to a string where each character in the string represents
1589       one character in the character set.  The character "." is  used  for  a
1590       normal  character, "c" for control, and "b" for binary.  A decimal num‐
1591       ber may be used for repetition.   For  example,  "bccc4b."  would  mean
1592       character  0 is binary, 1, 2 and 3 are control, 4, 5, 6 and 7 are bina‐
1593       ry, and 8 is normal.  All characters after the last are taken to be the
1594       same  as  the last, so characters 9 through 255 would be normal.  (This
1595       is an example, and does not necessarily represent  any  real  character
1596       set.)
1597
1598       This  table  shows the value of LESSCHARDEF which is equivalent to each
1599       of the possible values for LESSCHARSET:
1600
1601
1602            ascii      8bcccbcc18b95.b
1603            dos        8bcccbcc12bc5b95.b.
1604            ebcdic     5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b
1605                       9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
1606            IBM-1047   4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc
1607                       191.b
1608            iso8859    8bcccbcc18b95.33b.
1609            koi8-r     8bcccbcc18b95.b128.
1610            latin1     8bcccbcc18b95.33b.
1611            next       8bcccbcc18b95.bb125.bb
1612
1613       If neither LESSCHARSET nor LESSCHARDEF is set, but any of  the  strings
1614       "UTF-8",  "UTF8", "utf-8" or "utf8" is found in the LC_ALL, LC_CTYPE or
1615       LANG environment variables, then the default character set is utf-8.
1616
1617       If that string is not found, but your system supports the setlocale in‐
1618       terface,  less will use setlocale to determine the character set.  set‐
1619       locale is controlled by setting the LANG or LC_CTYPE environment  vari‐
1620       ables.
1621
1622       Finally,  if the setlocale interface is also not available, the default
1623       character set is latin1.
1624
1625       Control and  binary  characters  are  displayed  in  standout  (reverse
1626       video).  Each such character is displayed in caret notation if possible
1627       (e.g. ^A for control-A).  Caret notation is used only if inverting  the
1628       0100 bit results in a normal printable character.  Otherwise, the char‐
1629       acter is displayed as a hex number in angle brackets.  This format  can
1630       be  changed by setting the LESSBINFMT environment variable.  LESSBINFMT
1631       may begin with a "*" and one character to select the display attribute:
1632       "*k"  is  blinking, "*d" is bold, "*u" is underlined, "*s" is standout,
1633       and "*n" is normal.  If LESSBINFMT does not begin with  a  "*",  normal
1634       attribute  is  assumed.   The remainder of LESSBINFMT is a string which
1635       may include one printf-style escape sequence (a % followed by x, X,  o,
1636       d,  etc.).   For  example, if LESSBINFMT is "*u[%x]", binary characters
1637       are displayed in underlined hexadecimal surrounded  by  brackets.   The
1638       default  if no LESSBINFMT is specified is "*s<%02X>".  Warning: the re‐
1639       sult of expanding the character via LESSBINFMT must  be  less  than  31
1640       characters.
1641
1642       When the character set is utf-8, the LESSUTFBINFMT environment variable
1643       acts similarly to LESSBINFMT but it applies to Unicode code points that
1644       were  successfully  decoded but are unsuitable for display (e.g., unas‐
1645       signed code points).  Its default  value  is  "<U+%04lX>".   Note  that
1646       LESSUTFBINFMT  and  LESSBINFMT  share  their  display attribute setting
1647       ("*x") so specifying one will affect both; LESSUTFBINFMT is read  after
1648       LESSBINFMT  so  its  setting,  if any, will have priority.  Problematic
1649       octets in a UTF-8 file (octets of a truncated  sequence,  octets  of  a
1650       complete  but  non-shortest  form  sequence,  invalid octets, and stray
1651       trailing octets) are displayed individually using LESSBINFMT so  as  to
1652       facilitate diagnostic of how the UTF-8 file is ill-formed.
1653
1654       When  the  character set is utf-8, in rare cases it may be desirable to
1655       override the Unicode definition of the type of certain characters.  For
1656       example,  characters in a Private Use Area are normally treated as con‐
1657       trol characters, but if you are using  a  custom  font  with  printable
1658       characters  in  that  range,  it may be desirable to tell less to treat
1659       such characters as printable.  This can be done by setting the  LESSUT‐
1660       FCHARDEF  environment  variable  to a comma-separated list of character
1661       type definitions.  Each character type definition  consists  of  either
1662       one  hexadecimal codepoint or a pair of codepoints separated by a dash,
1663       followed by a colon and a type character.  Each  hexadecimal  codepoint
1664       may  optionally  be preceded by a "U" or "U+".  If a pair of codepoints
1665       is given, the type is set for all characters  inclusively  between  the
1666       two  values.   If  there are multiple comma-separated codepoint values,
1667       they must be in ascending numerical order.  The type character  may  be
1668       one of:
1669
1670              p      A normal printable character.
1671
1672              w      A wide (2-space) printable character.
1673
1674              b      A binary (non-printable) character.
1675
1676              c      A composing (zero width) character.
1677
1678       For example, setting LESSUTFCHARDEF to
1679
1680               E000-F8FF:p,F0000-FFFFD:p,100000-10FFFD:p
1681
1682       would make all Private Use Area characters be treated as printable.
1683
1684PROMPTS
1685       The  -P option allows you to tailor the prompt to your preference.  The
1686       string given to the -P option replaces  the  specified  prompt  string.
1687       Certain characters in the string are interpreted specially.  The prompt
1688       mechanism is rather complicated to provide flexibility, but  the  ordi‐
1689       nary  user need not understand the details of constructing personalized
1690       prompt strings.
1691
1692       A percent sign followed by a single character is expanded according  to
1693       what  the  following  character is.  (References to the input file size
1694       below refer to the preprocessed size, if an input preprocessor is being
1695       used.)
1696
1697       %bX    Replaced  by the byte offset into the current input file.  The b
1698              is followed by a single character (shown as X above) which spec‐
1699              ifies  the line whose byte offset is to be used.  If the charac‐
1700              ter is a "t", the byte offset of the top line in the display  is
1701              used, an "m" means use the middle line, a "b" means use the bot‐
1702              tom line, a "B" means use the line just after the  bottom  line,
1703              and  a  "j"  means use the "target" line, as specified by the -j
1704              option.
1705
1706       %B     Replaced by the size of the current input file.
1707
1708       %c     Replaced by the column number of the text appearing in the first
1709              column of the screen.
1710
1711       %dX    Replaced  by  the  page number of a line in the input file.  The
1712              line to be used is determined by the X, as with the %b option.
1713
1714       %D     Replaced by the number of pages in the input  file,  or  equiva‐
1715              lently, the page number of the last line in the input file.
1716
1717       %E     Replaced  by the name of the editor (from the VISUAL environment
1718              variable, or the EDITOR environment variable if  VISUAL  is  not
1719              defined).  See the discussion of the LESSEDIT feature below.
1720
1721       %f     Replaced by the name of the current input file.
1722
1723       %F     Replaced  by the last component of the name of the current input
1724              file.
1725
1726       %g     Replaced by the shell-escaped name of the  current  input  file.
1727              This  is useful when the expanded string will be used in a shell
1728              command, such as in LESSEDIT.
1729
1730       %i     Replaced by the index of the current file in the list  of  input
1731              files.
1732
1733       %lX    Replaced  by  the  line number of a line in the input file.  The
1734              line to be used is determined by the X, as with the %b option.
1735
1736       %L     Replaced by the line number of the last line in the input file.
1737
1738       %m     Replaced by the total number of input files.
1739
1740       %pX    Replaced by the percent into the current input  file,  based  on
1741              byte  offsets.  The line used is determined by the X as with the
1742              %b option.
1743
1744       %PX    Replaced by the percent into the current input  file,  based  on
1745              line  numbers.  The line used is determined by the X as with the
1746              %b option.
1747
1748       %s     Same as %B.
1749
1750       %t     Causes any trailing spaces to be removed.  Usually used  at  the
1751              end of the string, but may appear anywhere.
1752
1753       %T     Normally  expands  to the word "file".  However if viewing files
1754              via a tags list using the -t option,  it  expands  to  the  word
1755              "tag".
1756
1757       %x     Replaced by the name of the next input file in the list.
1758
1759       If any item is unknown (for example, the file size if input is a pipe),
1760       a question mark is printed instead.
1761
1762       The format of the prompt string can be  changed  depending  on  certain
1763       conditions.   A  question mark followed by a single character acts like
1764       an "IF": depending on the following character, a condition is  evaluat‐
1765       ed.   If  the  condition is true, any characters following the question
1766       mark and condition character, up to  a  period,  are  included  in  the
1767       prompt.   If  the condition is false, such characters are not included.
1768       A colon appearing between the question mark and the period can be  used
1769       to establish an "ELSE": any characters between the colon and the period
1770       are included in the string if and only if the IF  condition  is  false.
1771       Condition characters (which follow a question mark) may be:
1772
1773       ?a     True if any characters have been included in the prompt so far.
1774
1775       ?bX    True if the byte offset of the specified line is known.
1776
1777       ?B     True if the size of current input file is known.
1778
1779       ?c     True if the text is horizontally shifted (%c is not zero).
1780
1781       ?dX    True if the page number of the specified line is known.
1782
1783       ?e     True if at end-of-file.
1784
1785       ?f     True  if  there is an input filename (that is, if input is not a
1786              pipe).
1787
1788       ?lX    True if the line number of the specified line is known.
1789
1790       ?L     True if the line number of the last line in the file is known.
1791
1792       ?m     True if there is more than one input file.
1793
1794       ?n     True if this is the first prompt in a new input file.
1795
1796       ?pX    True if the percent into the current input file, based  on  byte
1797              offsets, of the specified line is known.
1798
1799       ?PX    True  if  the percent into the current input file, based on line
1800              numbers, of the specified line is known.
1801
1802       ?s     Same as "?B".
1803
1804       ?x     True if there is a next input file (that is, if the current  in‐
1805              put file is not the last one).
1806
1807       Any characters other than the special ones (question mark, colon, peri‐
1808       od, percent, and backslash) become literally part of the  prompt.   Any
1809       of  the  special  characters may be included in the prompt literally by
1810       preceding it with a backslash.
1811
1812       Some examples:
1813
1814       ?f%f:Standard input.
1815
1816       This prompt prints the filename, if known; otherwise the string  "Stan‐
1817       dard input".
1818
1819       ?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...
1820
1821       This  prompt  would print the filename, if known.  The filename is fol‐
1822       lowed by the line number, if known, otherwise  the  percent  if  known,
1823       otherwise the byte offset if known.  Otherwise, a dash is printed.  No‐
1824       tice how each question mark has a matching period, and how the %  after
1825       the %pt is included literally by escaping it with a backslash.
1826
1827       ?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\: %x..%t";
1828
1829       This  prints  the  filename if this is the first prompt in a file, fol‐
1830       lowed by the "file N of N" message if there  is  more  than  one  input
1831       file.   Then,  if  we are at end-of-file, the string "(END)" is printed
1832       followed by the name of the next file, if there is one.   Finally,  any
1833       trailing spaces are truncated.  This is the default prompt.  For refer‐
1834       ence, here are the defaults for the other two prompts (-m  and  -M  re‐
1835       spectively).  Each is broken into two lines here for readability only.
1836
1837       ?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\: %x.:
1838               ?pB%pB\%:byte %bB?s/%s...%t
1839
1840       ?f%f .?n?m(%T %i of %m) ..?ltlines %lt-%lb?L/%L. :
1841               byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t
1842
1843       And here is the default message produced by the = command:
1844
1845       ?f%f .?m(%T %i of %m) .?ltlines %lt-%lb?L/%L. .
1846               byte %bB?s/%s. ?e(END) :?pB%pB\%..%t
1847
1848       The  prompt expansion features are also used for another purpose: if an
1849       environment variable LESSEDIT is defined, it is used as the command  to
1850       be  executed when the v command is invoked.  The LESSEDIT string is ex‐
1851       panded in the same way as the prompt strings.  The  default  value  for
1852       LESSEDIT is:
1853
1854               %E ?lm+%lm. %g
1855
1856       Note that this expands to the editor name, followed by a + and the line
1857       number, followed by the shell-escaped file name.  If your  editor  does
1858       not  accept the "+linenumber" syntax, or has other differences in invo‐
1859       cation syntax, the LESSEDIT variable can be changed to modify this  de‐
1860       fault.
1861
1862SECURITY
1863       When  the  environment  variable LESSSECURE is set to 1, less runs in a
1864       "secure" mode.  This means these features are disabled:
1865
1866              !      the shell command
1867
1868              #      the pshell command
1869
1870              |      the pipe command
1871
1872              :e     the examine command.
1873
1874              v      the editing command
1875
1876              s  -o  log files
1877
1878              -k     use of lesskey files
1879
1880              -t     use of tags files
1881
1882                     metacharacters in filenames, such as *
1883
1884                     filename completion (TAB, ^L)
1885
1886                     history file
1887
1888       Less can also be compiled to be permanently in "secure" mode.
1889
1890COMPATIBILITY WITH MORE
1891       If the environment variable LESS_IS_MORE is set to 1, or if the program
1892       is  invoked via a file link named "more", less behaves (mostly) in con‐
1893       formance with the POSIX more(1) command specification.  In  this  mode,
1894       less behaves differently in these ways:
1895
1896       The -e option works differently.  If the -e option is not set, less be‐
1897       haves as if the -e option were set.  If the -e option is set, less  be‐
1898       haves as if the -E option were set.
1899
1900       The  -m  option  works  differently.   If the -m option is not set, the
1901       medium prompt is used, and it is prefixed with the  string  "--More--".
1902       If the -m option is set, the short prompt is used.
1903
1904       The  -n  option acts like the -z option.  The normal behavior of the -n
1905       option is unavailable in this mode.
1906
1907       The parameter to the -p option is taken to be  a  less  command  rather
1908       than a search pattern.
1909
1910       The  LESS  environment  variable  is  ignored, and the MORE environment
1911       variable is used in its place.
1912
1913ENVIRONMENT VARIABLES
1914       Environment variables may be specified either in the system environment
1915       as  usual,  or  in a lesskey(1) file.  If environment variables are de‐
1916       fined in more than one place, variables defined in a local lesskey file
1917       take precedence over variables defined in the system environment, which
1918       take precedence over variables defined in the system-wide lesskey file.
1919
1920       COLUMNS
1921              Sets the number of columns on the screen.  Takes precedence over
1922              the  number  of columns specified by the TERM variable.  (But if
1923              you  have  a  windowing  system  which  supports  TIOCGWINSZ  or
1924              WIOCGETD,  the  window  system's  idea  of the screen size takes
1925              precedence over the LINES and COLUMNS environment variables.)
1926
1927       EDITOR The name of the editor (used for the v command).
1928
1929       HOME   Name of the user's home directory (used to find a  lesskey  file
1930              on Unix and OS/2 systems).
1931
1932       HOMEDRIVE, HOMEPATH
1933              Concatenation  of  the  HOMEDRIVE and HOMEPATH environment vari‐
1934              ables is the name of the user's home directory if the HOME vari‐
1935              able is not set (only in the Windows version).
1936
1937       INIT   Name  of  the user's init directory (used to find a lesskey file
1938              on OS/2 systems).
1939
1940       LANG   Language for determining the character set.
1941
1942       LC_CTYPE
1943              Language for determining the character set.
1944
1945       LESS   Options which are passed to less automatically.
1946
1947       LESSANSIENDCHARS
1948              Characters which may end an ANSI color escape sequence  (default
1949              "m").
1950
1951       LESSANSIMIDCHARS
1952              Characters  which  may  appear between the ESC character and the
1953              end  character  in  an  ANSI  color  escape  sequence   (default
1954              "0123456789:;[?!"'#%()*+ ".
1955
1956       LESSBINFMT
1957              Format for displaying non-printable, non-control characters.
1958
1959       LESSCHARDEF
1960              Defines a character set.
1961
1962       LESSCHARSET
1963              Selects a predefined character set.
1964
1965       LESSCLOSE
1966              Command line to invoke the (optional) input-postprocessor.
1967
1968       LESSECHO
1969              Name of the lessecho program (default "lessecho").  The lessecho
1970              program is needed to expand metacharacters, such as * and ?,  in
1971              filenames on Unix systems.
1972
1973       LESSEDIT
1974              Editor  prototype  string (used for the v command).  See discus‐
1975              sion under PROMPTS.
1976
1977       LESSGLOBALTAGS
1978              Name of the command used by the -t option to find  global  tags.
1979              Normally  should be set to "global" if your system has the glob‐
1980              al(1) command.  If not set, global tags are not used.
1981
1982       LESSHISTFILE
1983              Name of the history file used to remember  search  commands  and
1984              shell  commands  between  invocations of less.  If set to "-" or
1985              "/dev/null", a history file is not used.  The default depends on
1986              the operating system, but is usually:
1987
1988              Linux and Unix
1989                     "$XDG_STATE_HOME/lesshst" or "$HOME/.local/state/lesshst"
1990                     or "$XDG_DATA_HOME/lesshst" or "$HOME/.lesshst".
1991
1992              Windows and MS-DOS
1993                     "$HOME/_lesshst".
1994
1995              OS/2   "$HOME/lesshst.ini" or "$INIT/lesshst.ini".
1996
1997       LESSHISTSIZE
1998              The maximum number of commands to save in the history file.  The
1999              default is 100.
2000
2001       LESSKEYIN
2002              Name of the default lesskey source file.
2003
2004       LESSKEY
2005              Name   of   the  default  lesskey  binary  file.  (Not  used  if
2006              "$LESSKEYIN" exists.)
2007
2008       LESSKEYIN_SYSTEM
2009              Name of the default system-wide lesskey source file.
2010
2011       LESSKEY_SYSTEM
2012              Name of the default system-wide lesskey binary file.  (Not  used
2013              if "$LESSKEYIN_SYSTEM" exists.)
2014
2015       LESSMETACHARS
2016              List  of characters which are considered "metacharacters" by the
2017              shell.
2018
2019       LESSMETAESCAPE
2020              Prefix which less will add before each metacharacter in  a  com‐
2021              mand  sent  to the shell.  If LESSMETAESCAPE is an empty string,
2022              commands containing metacharacters will not  be  passed  to  the
2023              shell.
2024
2025       LESSOPEN
2026              Command line to invoke the (optional) input-preprocessor.
2027
2028       LESSSECURE
2029              Runs less in "secure" mode.  See discussion under SECURITY.
2030
2031       LESSSEPARATOR
2032              String  to  be  appended to a directory name in filename comple‐
2033              tion.
2034
2035       LESSUTFBINFMT
2036              Format for displaying non-printable Unicode code points.
2037
2038       LESSUTFCHARDEF
2039              Overrides the type of specified Unicode characters.
2040
2041       LESS_COLUMNS
2042              Sets the number of columns on the screen.  Unlike COLUMNS, takes
2043              precedence  over the system's idea of the screen size, so it can
2044              be used to make less use less than the full  screen  width.   If
2045              set  to  a  negative  number, sets the number of columns used to
2046              this much less than the actual screen width.
2047
2048       LESS_LINES
2049              Sets the number of lines on the  screen.   Unlike  LINES,  takes
2050              precedence  over the system's idea of the screen size, so it can
2051              be used to make less use less than the full screen  height.   If
2052              set  to a negative number, sets the number of lines used to this
2053              much less than the actual screen height.   When  set,  less  re‐
2054              paints the entire screen on every movement command, so scrolling
2055              may be slower.
2056
2057       LESS_DATA_DELAY
2058              Duration (in milliseconds) after starting to read data from  the
2059              input,  after  which the "Waiting for data" message will be dis‐
2060              played.  The default is 4000 (4 seconds).
2061
2062       LESS_IS_MORE
2063              Emulate the more(1) command.
2064
2065       LESS_TERMCAP_xx
2066              Where "xx" is any two characters, overrides  the  definition  of
2067              the termcap "xx" capability for the terminal.
2068
2069       LINES  Sets  the  number of lines on the screen.  Takes precedence over
2070              the number of lines specified by the TERM variable.  (But if you
2071              have  a  windowing system which supports TIOCGWINSZ or WIOCGETD,
2072              the window system's idea of the  screen  size  takes  precedence
2073              over the LINES and COLUMNS environment variables.)
2074
2075       MORE   Options  which  are passed to less automatically when running in
2076              more-compatible mode.
2077
2078       PATH   User's search path (used to find a lesskey file  on  MS-DOS  and
2079              OS/2 systems).
2080
2081       SHELL  The  shell  used  to execute the ! command, as well as to expand
2082              filenames.
2083
2084       TERM   The type of terminal on which less is being run.
2085
2086       VISUAL The name of the editor (used for the v command).
2087
2088       XDG_CONFIG_HOME
2089              Possible location of the lesskey file; see the KEY BINDINGS sec‐
2090              tion.
2091
2092       XDG_DATA_HOME
2093              Possible  location  of  the history file; see the description of
2094              the LESSHISTFILE environment variable.
2095
2096       XDG_STATE_HOME
2097              Possible location of the history file; see  the  description  of
2098              the LESSHISTFILE environment variable.
2099
2100SEE ALSO
2101       lesskey(1), lessecho(1)
2102
2103COPYRIGHT
2104       Copyright (C) 1984-2023  Mark Nudelman
2105
2106       less  is  part of the GNU project and is free software.  You can redis‐
2107       tribute it and/or modify it under the terms of either (1) the GNU  Gen‐
2108       eral  Public  License  as published by the Free Software Foundation; or
2109       (2) the Less License.  See the file README in the less distribution for
2110       more details regarding redistribution.  You should have received a copy
2111       of the GNU General Public License along with the source for  less;  see
2112       the  file  COPYING.   If not, write to the Free Software Foundation, 59
2113       Temple Place, Suite 330, Boston, MA  02111-1307, USA.  You should  also
2114       have received a copy of the Less License; see the file LICENSE.
2115
2116       less is distributed in the hope that it will be useful, but WITHOUT ANY
2117       WARRANTY; without even the implied warranty of MERCHANTABILITY or  FIT‐
2118       NESS  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
2119       more details.
2120
2121AUTHOR
2122       Mark Nudelman
2123       Report bugs at https://github.com/gwsw/less/issues.
2124       For more information, see the less homepage at
2125       https://greenwoodsoftware.com/less
2126
2127
2128
2129                           Version 643: 20 Jul 2023                    LESS(1)
2130