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