Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LESS(1)			    General Commands Manual		       LESS(1)

NAME
       less - display the contents of a	file in	a terminal

SYNOPSIS
       less -?
       less --help
       less -V
       less --version
       less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
	    [-b	space] [-h lines] [-j line] [-k	keyfile]
	    [-{oO} logfile] [-p	pattern] [-P prompt] [-t tag]
	    [-T	tagsfile] [-x tab,...] [-y lines] [-[z]	lines]
	    [-#	shift] [+[+]cmd] [--] [filename]...
       (See  the  OPTIONS section for alternate	option syntax with long	option
       names.)

DESCRIPTION
       Less is a program similar to more(1), but it has	 many  more  features.
       Less  does  not	have to	read the entire	input file before starting, so
       with large input	files it starts	 up  faster  than  text	 editors  like
       vi(1).	Less uses termcap (or terminfo on some systems), so it can run
       on a variety of terminals.  There is even limited support for  hardcopy
       terminals.   (On	 a hardcopy terminal, lines which should be printed at
       the top of the screen are prefixed with a caret.)

       Commands	are based on both more and vi.	Commands may be	preceded by  a
       decimal number, called N	in the descriptions below.  The	number is used
       by some commands, as indicated.

COMMANDS
       In  the following descriptions, ^X means	control-X.  ESC	stands for the
       ESCAPE key; for example ESC-v means the	two  character	sequence  "ES-
       CAPE", then "v".

       h or H Help:  display  a	 summary of these commands.  If	you forget all
	      the other	commands, remember this	one.

       SPACE or	^V or f	or ^F
	      Scroll forward N lines, default one window (see  option  -z  be-
	      low).  If	N is more than the screen size,	only the final screen-
	      ful  is  displayed.   Warning:  some systems use ^V as a special
	      literalization character.

       z      Like SPACE, but if N is specified, it  becomes  the  new	window
	      size.

       ESC-SPACE
	      Like  SPACE,  but	 scrolls  a full screenful, even if it reaches
	      end-of-file in the process.

       ENTER or	RETURN or ^N or	e or ^E	or j or	^J
	      Scroll forward N lines, default 1.  The entire N lines are  dis-
	      played, even if N	is more	than the screen	size.

       d or ^D
	      Scroll forward N lines, default one half of the screen size.  If
	      N	 is specified, it becomes the new default for subsequent d and
	      u	commands.

       b or ^B or ESC-v
	      Scroll backward N	lines, default one window (see option  -z  be-
	      low).  If	N is more than the screen size,	only the final screen-
	      ful is displayed.

       w      Like  ESC-v,  but	 if  N is specified, it	becomes	the new	window
	      size.

       y or ^Y or ^P or	k or ^K
	      Scroll backward N	lines, default 1.  The entire N	lines are dis-
	      played, even if N	is more	than the screen	size.	Warning:  some
	      systems use ^Y as	a special job control character.

       u or ^U
	      Scroll  backward	N  lines, default one half of the screen size.
	      If N is specified, it becomes the	new default for	 subsequent  d
	      and u commands.

       J      Like j, but continues to scroll beyond the end of	the file.

       K or Y Like  k,	but  continues	to  scroll beyond the beginning	of the
	      file.

       ESC-) or	RIGHTARROW
	      Scroll horizontally right	N characters, default half the	screen
	      width  (see  the -# option).  If a number	N is specified,	it be-
	      comes the	default	for future RIGHTARROW and LEFTARROW  commands.
	      While  the  text	is  scrolled,  it acts as though the -S	option
	      (chop lines) were	in effect.

       ESC-( or	LEFTARROW
	      Scroll horizontally left N characters, default half  the	screen
	      width  (see  the -# option).  If a number	N is specified,	it be-
	      comes the	default	for future RIGHTARROW and LEFTARROW commands.

       ESC-} or	^RIGHTARROW
	      Scroll horizontally right	to show	the end	of  the	 longest  dis-
	      played line.

       ESC-{ or	^LEFTARROW
	      Scroll horizontally left back to the first column.

       r or ^R or ^L
	      Repaint the screen.

       R      Repaint the screen, discarding any buffered input.  That is, re-
	      load  the	current	file.  Useful if the file is changing while it
	      is being viewed.

       F      Scroll forward, and keep trying to read when the end of file  is
	      reached.	 Normally  this	 command would be used when already at
	      the end of the file.  It is a way	to monitor the tail of a  file
	      which  is	 growing  while	 it is being viewed.  (The behavior is
	      similar to the "tail -f" command.)  To  stop  waiting  for  more
	      data,  enter  the	 interrupt character (usually ^C).  On systems
	      which support poll(2) you	can also use ^X	or the character spec-
	      ified by the --intr option.  If the input	 is  a	pipe  and  the
	      --exit-follow-on-close  option is	in effect, less	will automati-
	      cally stop waiting for data when the input side of the  pipe  is
	      closed.

       ESC-F  Like  F,	but  as	soon as	a line is found	which matches the last
	      search pattern, the terminal bell	is rung	and forward  scrolling
	      stops.

       g or < or ESC-<
	      Go to line N in the file,	default	1 (beginning of	file).	(Warn-
	      ing: this	may be slow if N is large.)

       G or > or ESC->
	      Go  to  line N in	the file, default the end of the file.	(Warn-
	      ing: this	may be slow if N is large, or if N  is	not  specified
	      and standard input, rather than a	file, is being read.)

       ESC-G  Same  as	G, except if no	number N is specified and the input is
	      standard input,  goes  to	 the  last  line  which	 is  currently
	      buffered.

       p or % Go to a position N percent into the file.	 N should be between 0
	      and 100, and may contain a decimal point.

       P      Go to the	line containing	byte offset N in the file.

       {      If a left	curly bracket appears in the top line displayed	on the
	      screen,  the  {  command	will  go  to  the matching right curly
	      bracket.	The matching right curly bracket is positioned on  the
	      bottom line of the screen.  If there is more than	one left curly
	      bracket  on  the top line, a number N may	be used	to specify the
	      N-th bracket on the line.

       }      If a right curly bracket appears in the bottom line displayed on
	      the screen, the }	command	will go	to  the	 matching  left	 curly
	      bracket.	 The  matching left curly bracket is positioned	on the
	      top line of the screen.  If there	is more	than one  right	 curly
	      bracket  on  the	bottom line, a number N	may be used to specify
	      the N-th bracket on the line.

       (      Like {, but applies to parentheses rather	than curly brackets.

       )      Like }, but applies to parentheses rather	than curly brackets.

       [      Like {, but applies to square brackets rather than curly	brack-
	      ets.

       ]      Like  }, but applies to square brackets rather than curly	brack-
	      ets.

       ESC-^F Followed by two characters, acts like {, but uses	the two	 char-
	      acters  as  open and close brackets, respectively.  For example,
	      "ESC ^F <	>" could be used to go forward to the >	which  matches
	      the < in the top displayed line.

       ESC-^B Followed	by two characters, acts	like },	but uses the two char-
	      acters as	open and close brackets, respectively.	 For  example,
	      "ESC ^B <	>" could be used to go backward	to the < which matches
	      the > in the bottom displayed line.

       m      Followed	by  any	lowercase or uppercase letter, marks the first
	      displayed	line with that letter.	If the status  column  is  en-
	      abled  via  the  -J  option,  the	status column shows the	marked
	      line.

       M      Acts like	m, except the last displayed  line  is	marked	rather
	      than the first displayed line.

       '      (Single  quote.)	Followed by any	lowercase or uppercase letter,
	      returns to the position which was	previously  marked  with  that
	      letter.	Followed by another single quote, returns to the posi-
	      tion at which the	last "large" movement  command	was  executed.
	      Followed	by a ^ or $, jumps to the beginning or end of the file
	      respectively.  Marks are preserved when a	new file is  examined,
	      so the ' command can be used to switch between input files.

       ^X^X   Same as single quote.

       ESC-m  Followed	by  any	lowercase or uppercase letter, clears the mark
	      identified by that letter.

       /pattern
	      Search forward in	the file for the N-th line containing the pat-
	      tern.  N defaults	to 1.  The pattern is a	regular	expression, as
	      recognized by the	regular	expression library  supplied  by  your
	      system.	By default, searching is case-sensitive	(uppercase and
	      lowercase	are considered different); the -i option can  be  used
	      to  change  this.	 The search starts at the first	line displayed
	      (but see the -a and -j options, which change this).

	      Certain characters are special if	entered	at  the	 beginning  of
	      the  pattern;  they modify the type of search rather than	become
	      part of the pattern:

	      ^N or !
		     Search for	lines which do NOT match the pattern.

	      ^E or *
		     Search multiple files.  That is, if  the  search  reaches
		     the  END of the current file without finding a match, the
		     search continues in the next file	in  the	 command  line
		     list.

	      ^F or @
		     Begin  the	 search	at the first line of the FIRST file in
		     the command line list, regardless of  what	 is  currently
		     displayed	on  the	screen or the settings of the -a or -j
		     options.

	      ^K     Highlight any text	which matches the pattern on the  cur-
		     rent screen, but don't move to the	first match (KEEP cur-
		     rent position).

	      ^R     Don't  interpret  regular expression metacharacters; that
		     is, do a simple textual comparison.

	      ^S     Followed by a digit N between 1 and 5.  Only  text	 which
		     has a non-empty match for the N-th	parenthesized SUB-PAT-
		     TERN will be considered to	match the pattern.  (Supported
		     only  if less is built with one of	the regular expression
		     libraries posix, pcre, or pcre2.)	Multiple ^S  modifiers
		     can be specified, to match	more than one sub-pattern.

	      ^W     WRAP  around  the	current	 file.	That is, if the	search
		     reaches the end of	the current  file  without  finding  a
		     match,  the  search  continues from the first line	of the
		     current file up to	the line where it started.  If the  ^W
		     modifier is set, the ^E modifier is ignored.

	      ^L     The  next	character  is taken literally; that is,	it be-
		     comes part	of the pattern even if it is one of the	 above
		     search modifier characters.

       ?pattern
	      Search  backward	in  the	 file for the N-th line	containing the
	      pattern.	The search starts at the last line displayed (but  see
	      the -a and -j options, which change this).

	      Certain characters are special as	in the / command:

	      ^N or !
		     Search for	lines which do NOT match the pattern.

	      ^E or *
		     Search  multiple  files.	That is, if the	search reaches
		     the beginning of  the  current  file  without  finding  a
		     match,  the  search continues in the previous file	in the
		     command line list.

	      ^F or @
		     Begin the search at the last line of the last file	in the
		     command line list,	regardless of what is  currently  dis-
		     played  on	the screen or the settings of the -a or	-j op-
		     tions.

	      ^K     As	in forward searches.

	      ^R     As	in forward searches.

	      ^S     As	in forward searches.

	      ^W     WRAP around the current file.  That  is,  if  the	search
		     reaches the beginning of the current file without finding
		     a	match,	the search continues from the last line	of the
		     current file up to	the line where it started.

       ESC-/pattern
	      Same as "/*".

       ESC-?pattern
	      Same as "?*".

       n      Repeat previous search, for N-th line containing the  last  pat-
	      tern.   If the previous search was modified by ^N, the search is
	      made for the N-th	line NOT containing the	pattern.  If the  pre-
	      vious  search  was  modified  by ^E, the search continues	in the
	      next (or previous) file if not satisfied in  the	current	 file.
	      If  the  previous	 search	was modified by	^R, the	search is done
	      without using regular expressions.  There	is no  effect  if  the
	      previous search was modified by ^F or ^K.

       N      Repeat previous search, but in the reverse direction.

       ESC-n  Repeat  previous	search,	but crossing file boundaries.  The ef-
	      fect is as if the	previous search	were modified by *.

       ESC-N  Repeat previous search, but in the reverse direction and	cross-
	      ing file boundaries.

       ESC-u  Undo  search  highlighting.   Turn  off  highlighting of strings
	      matching the current search pattern.  If highlighting is already
	      off because of a previous	ESC-u command, turn highlighting  back
	      on.   Any	 search	 command  will also turn highlighting back on.
	      (Highlighting can	also be	disabled by toggling the -G option; in
	      that case	search commands	do not turn highlighting back on.)

       ESC-U  Like ESC-u but also clears the saved  search  pattern.   If  the
	      status  column  is  enabled  via	the -J option, this clears all
	      search matches marked in the status column.

       &pattern
	      Display only lines which match the pattern; lines	which  do  not
	      match  the  pattern  are not displayed.  If pattern is empty (if
	      you type & immediately followed  by  ENTER),  any	 filtering  is
	      turned  off, and all lines are displayed.	 While filtering is in
	      effect, an ampersand  is	displayed  at  the  beginning  of  the
	      prompt, as a reminder that some lines in the file	may be hidden.
	      Multiple	&  commands  may  be entered, in which case only lines
	      which match all of the patterns will be displayed.

	      Certain characters are special as	in the / command:

	      ^N or !
		     Display only lines	which do NOT match the pattern.

	      ^R     Don't interpret regular expression	 metacharacters;  that
		     is, do a simple textual comparison.

       :e [filename]
	      Examine  a  new file.  If	the filename is	missing, the "current"
	      file (see	the :n and :p commands below) from the list  of	 files
	      in  the  command line is re-examined.  A percent sign (%)	in the
	      filename is replaced by the name of the current file.   A	 pound
	      sign  (#)	 is  replaced  by  the name of the previously examined
	      file.  However, two consecutive percent  signs  are  simply  re-
	      placed  with  a single percent sign.  This allows	you to enter a
	      filename that contains a percent sign in the  name.   Similarly,
	      two  consecutive	pound  signs  are replaced with	a single pound
	      sign.  The filename is inserted into the command	line  list  of
	      files  so	 that it can be	seen by	subsequent :n and :p commands.
	      If the filename consists of several files, they are all inserted
	      into the list of files and the first one is  examined.   If  the
	      filename contains	one or more spaces, the	entire filename	should
	      be enclosed in double quotes (also see the -" option).

       ^X^V or E
	      Same  as :e.  Warning: some systems use ^V as a special literal-
	      ization character.  On such systems, you may not be able to  use
	      ^V.

       :n     Examine  the next	file (from the list of files given in the com-
	      mand line).  If a	number N is specified, the N-th	next  file  is
	      examined.

       :p     Examine the previous file	in the command line list.  If a	number
	      N	is specified, the N-th previous	file is	examined.

       :x     Examine  the first file in the command line list.	 If a number N
	      is specified, the	N-th file in the list is examined.

       :d     Remove the current file from the list of files.

       t      Go to the	next tag, if there were	more than one matches for  the
	      current tag.  See	the -t option for more details about tags.

       T      Go  to the previous tag, if there	were more than one matches for
	      the current tag.

       ^O^N or ^On
	      Search forward in	the file for the N-th next OSC 8 hyperlink.

       ^O^P or ^Op
	      Search backward in the file for the N-th previous	OSC  8	hyper-
	      link.

       ^O^L or ^Ol
	      Jump to the currently selected OSC 8 hyperlink.

       = or ^G or :f
	      Prints  some  information	about the file being viewed, including
	      its name and the line number and byte offset of the bottom  line
	      being  displayed.	 If possible, it also prints the length	of the
	      file, the	number of lines	in the file and	 the  percent  of  the
	      file above the last displayed line.

       -      Followed	by one of the command line option letters (see OPTIONS
	      below), this will	change the setting of that option and print  a
	      message  describing the new setting.  If a ^P (CONTROL-P)	is en-
	      tered immediately	after the dash,	the setting of the  option  is
	      changed  but  no message is printed.  If the option letter has a
	      numeric value (such as -b	or -h),	or a string value (such	as  -P
	      or  -t), a new value may be entered after	the option letter.  If
	      no new value is entered, a message describing the	 current  set-
	      ting is printed and nothing is changed.

       --     Like  the	 -  command, but takes a long option name (see OPTIONS
	      below) rather than a single option letter.  You must press ENTER
	      or RETURN	after typing the option	name.  A ^P immediately	 after
	      the  second dash suppresses printing of a	message	describing the
	      new setting, as in the - command.

       -+     Followed by one of the command line option letters this will re-
	      set the option to	its default setting and	print  a  message  de-
	      scribing	the  new  setting.   (The  "-+X" command does the same
	      thing as "-+X" on	the command line.)  This  does	not  work  for
	      string-valued options.

       --+    Like  the	-+ command, but	takes a	long option name rather	than a
	      single option letter.

       -!     Followed by one of the command line option  letters,  this  will
	      reset  the  option  to the "opposite" of its default setting and
	      print a message describing the new setting.  This	does not  work
	      for numeric or string-valued options.

       --!    Like  the	-! command, but	takes a	long option name rather	than a
	      single option letter.

       _      (Underscore.)  Followed by one of	the command line  option  let-
	      ters,  this  will	print a	message	describing the current setting
	      of that option.  The setting of the option is not	changed.

       __     (Double underscore.)  Like the _ (underscore) command, but takes
	      a	long option name rather	than a single option letter.  You must
	      press ENTER or RETURN after typing the option name.

       +cmd   Causes the specified cmd to be executed each time	a new file  is
	      examined.	 For example, +G causes	less to	initially display each
	      file starting at the end rather than the beginning.

       V      Prints the version number	of less	being run.

       q or Q or :q or :Q or ZZ
	      Exits less.

       The following seven commands may	or may not be valid, depending on your
       particular installation.

       v      Invokes  an  editor  to edit the current file being viewed.  The
	      editor is	taken from the environment variable VISUAL if defined,
	      or EDITOR	if VISUAL is not defined, or defaults to "vi" if  nei-
	      ther  VISUAL  nor	EDITOR is defined.  See	also the discussion of
	      LESSEDIT under the section on PROMPTS below.

       ! shell-command
	      Invokes a	shell to run the shell-command given.  A percent  sign
	      (%)  in the command is replaced by the name of the current file.
	      A	pound sign (#) is replaced by the name of the previously exam-
	      ined file.  "!!" repeats the last	shell command.	 "!"  with  no
	      shell  command  simply  invokes a	shell.	If a ^P	(CONTROL-P) is
	      entered immediately after	the !, no "done"  message  is  printed
	      after the	shell command is executed.  On Unix systems, the shell
	      is  taken	 from  the  environment	variable SHELL,	or defaults to
	      "sh".  On	MS-DOS,	Windows, and OS/2 systems, the	shell  is  the
	      normal command processor.

       # shell-command
	      Similar  to the "!" command, except that the command is expanded
	      in the same way as prompt	strings.  For example, the name	of the
	      current file would be given as "%f".

       | <m> shell-command
	      <m> represents any mark letter.  Pipes a section	of  the	 input
	      file  to the given shell command.	 The section of	the file to be
	      piped is between the position marked by the letter and the  cur-
	      rent  screen.  The entire	current	screen is included, regardless
	      of whether the marked position is	before or  after  the  current
	      screen.	<m> may	also be	^ or $ to indicate beginning or	end of
	      file respectively.  If <m> is . or newline, the  current	screen
	      is  piped.  If a ^P (CONTROL-P) is entered immediately after the
	      mark letter, no "done" message is	printed	after the  shell  com-
	      mand is executed.

       s filename
	      Save  the	 input	to  a file.  This works	only if	the input is a
	      pipe, not	an ordinary file.

       ^O^O
	      Run a shell command to open the URI in the current OSC 8	hyper-
	      link,  selected by a previous ^O^N or ^O^P command.  To find the
	      shell command, the environment variable named "LESS_OSC8_xxx" is
	      read, where "xxx"	is the scheme from the URI  (the  part	before
	      the  first  colon), or is	empty if there is no colon in the URI.
	      The value	of the environment variable is then  expanded  in  the
	      same  way	as prompt strings (in particular, any instance of "%o"
	      is replaced with the URI)	to produce an OSC  8  "handler"	 shell
	      command.	 The  standard	output from the	handler	is an "opener"
	      shell command which is then executed to open the URI.

	      There are	two special cases:

		     1.	    If the URI begins with "#",	the remainder  of  the
			    URI	 is  taken to be the value of the id parameter
			    in another OSC 8 link in the same file,  and  ^O^O
			    will simply	jump to	that link.

		     2.	    If the opener begins with the characters ":e" fol-
			    lowed  by  whitespace and a	filename, then instead
			    of running the opener  as  a  shell	 command,  the
			    specified  filename	 is  opened in the current in-
			    stance of less.

	      In a simple case where the opener	accepts	the complete URI as  a
	      command line parameter, the handler may be as simple as

	      echo mybrowser '%o'

	      In  other	cases, the URI may need	to be modified,	so the handler
	      may have to do some manipulation of the %o value.

	      If  the  LESS_OSC8_xxx  variable	is  not	 set,	the   variable
	      LESS_OSC8_ANY   is   tried.    If	  neither   LESS_OSC8_xxx  nor
	      LESS_OSC8_ANY is set, links using	the  "xxx"  scheme  cannot  be
	      opened.	However,  there	 are  default handlers for the schemes
	      "man" (used when LESS_OSC8_man is	not set) and "file" (used when
	      LESS_OSC8_file is	not set), which	should work on	systems	 which
	      provide  the  sed(1)  command and	a shell	with syntax compatible
	      with the Bourne shell sh(1).  If you use LESS_OSC8_ANY to	 over-
	      ride LESS_OSC8_file, you must set	LESS_OSC8_file to "-" to indi-
	      cate that	the default value should not be	used, and likewise for
	      LESS_OSC8_man.

	      The  URI	passed	to an OSC8 handler via %o is guaranteed	not to
	      contain any single quote or double quote characters, but it  may
	      contain  any other shell metacharacters such as semicolons, dol-
	      lar signs, ampersands, etc.  The handler should take care	to ap-
	      propriately quote	parameters in the opener command,  to  prevent
	      execution	 of unintended shell commands in the case of opening a
	      URI which	contains shell metacharacters.	Also, since  the  han-
	      dler  command is expanded	like a command prompt, any metacharac-
	      ters interpreted by prompt  expansion  (such  as	percent,  dot,
	      colon,  backslash,  etc.)	 must be escaped with a	backslash (see
	      the PROMPTS section for details).

       ^X     When the "Waiting	for data" message is displayed,	such as	 while
	      in  the  F  command, pressing ^X will stop less from waiting and
	      return to	a prompt.  This	may cause less to think	that the  file
	      ends  at the current position, so	it may be necessary to use the
	      R	or F command to	see more data.	The --intr option can be  used
	      to  specify  a  different	 character to use instead of ^X.  This
	      command works only on systems that support the poll(2) function.
	      On systems without poll(2), the interrupt	character (usually ^C)
	      can be used instead.

OPTIONS
       Command line options are	described below.  Most options may be  changed
       while less is running, via the "-" command.

       Some  options  may be given in one of two forms:	either a dash followed
       by a single letter, or two dashes followed by a long  option  name.   A
       long  option name may be	abbreviated as long as the abbreviation	is un-
       ambiguous.  For example,	--quit-at-eof may be abbreviated  --quit,  but
       not --qui, since	both --quit-at-eof and --quiet begin with --qui.  Some
       long  option names are in uppercase, such as --QUIT-AT-EOF, as distinct
       from --quit-at-eof.  Such option	names need only	have their first  let-
       ter  capitalized; the remainder of the name may be in either case.  For
       example,	--Quit-at-eof is equivalent to --QUIT-AT-EOF.

       Options are also	taken from the environment variable "LESS".  For exam-
       ple, to avoid typing "less -options ..."	each time less is invoked, you
       might tell csh:

       setenv LESS "-options"

       or if you use sh:

       LESS="-options";	export LESS

       On MS-DOS and Windows, you don't	need the quotes,  but  you  should  be
       careful	that  any  percent  signs in the options string	are not	inter-
       preted as an environment	variable expansion.

       The environment variable	is parsed before the command line, so  command
       line  options override the LESS environment variable.  If an option ap-
       pears in	the LESS variable, it can be reset to its default value	on the
       command line by beginning the command line option with "-+".

       Some options like -k or -D require a string to follow the  option  let-
       ter.   The  string  for	that option is considered to end when a	dollar
       sign ($)	is found.  For example,	you can	set two	-D options like	this:

       LESS="Dnwb$Dsbw"

       If the --use-backslash option appears earlier in	the  options,  then  a
       dollar  sign or backslash may be	included literally in an option	string
       by preceding it with a backslash.  If the --use-backslash option	is not
       in effect, then backslashes are not treated specially, and there	is  no
       way to include a	dollar sign in the option string.

       -? or --help
	      This  option displays a summary of the commands accepted by less
	      (the same	as the h command).  (Depending on how your  shell  in-
	      terprets	the  question  mark,  it may be	necessary to quote the
	      question mark, thus: "-\?".)

       -a or --search-skip-screen
	      By default, forward searches start at the	top of	the  displayed
	      screen  and  backwards  searches start at	the bottom of the dis-
	      played screen (except for	repeated searches invoked by the n  or
	      N	 commands,  which  start after or before the "target" line re-
	      spectively; see the -j option for	more about the	target	line).
	      The  -a  option  causes forward searches to instead start	at the
	      bottom of	the screen and backward	searches to start at  the  top
	      of the screen, thus skipping all lines displayed on the screen.

       -A or --SEARCH-SKIP-SCREEN
	      Causes  all forward searches (not	just non-repeated searches) to
	      start just after the target line,	and all	backward  searches  to
	      start  just before the target line.  Thus, forward searches will
	      skip part	of the displayed screen	(from the first	line up	to and
	      including	the target line).  Similarly backwards	searches  will
	      skip the displayed screen	from the last line up to and including
	      the target line.	This was the default behavior in less versions
	      prior to 441.

       -bn or --buffers=n
	      Specifies	 the  amount  of  buffer  space	less will use for each
	      file, in units of	kilobytes (1024	bytes).	 By default  64	KB  of
	      buffer  space  is	used for each file (unless the file is a pipe;
	      see the -B option).  The -b  option  specifies  instead  that  n
	      kilobytes	of buffer space	should be used for each	file.  If n is
	      -1,  buffer  space is unlimited; that is,	the entire file	can be
	      read into	memory.

       -B or --auto-buffers
	      By default, when data is read from a pipe, buffers are allocated
	      automatically as needed.	If a large amount of data is read from
	      the pipe,	this can cause a large amount of memory	 to  be	 allo-
	      cated.   The  -B	option	disables  this automatic allocation of
	      buffers for pipes, so that only 64 KB (or	the  amount  of	 space
	      specified	 by the	-b option) is used for the pipe.  Warning: use
	      of -B can	result in erroneous display, since only	the  most  re-
	      cently viewed part of the	piped data is kept in memory; any ear-
	      lier  data  is  lost.  Lost characters are displayed as question
	      marks.

       -c or --clear-screen
	      Causes full screen repaints to be	 painted  from	the  top  line
	      down.   By  default,  full screen	repaints are done by scrolling
	      from the bottom of the screen.

       -C or --CLEAR-SCREEN
	      Same as -c, for compatibility with older versions	of less.

       -d or --dumb
	      The -d option suppresses the error message normally displayed if
	      the terminal is dumb; that is, lacks some	important  capability,
	      such as the ability to clear the screen or scroll	backward.  The
	      -d  option  does	not otherwise change the behavior of less on a
	      dumb terminal.

       -Dxcolor	or --color=xcolor
	      Changes the color	of different parts of the displayed  text.   x
	      is a single character which selects the type of text whose color
	      is being set:

	      B	     Binary characters.

	      C	     Control characters.

	      E	     Errors and	informational messages.

	      H	     Header lines and columns, set via the --header option.

	      M	     Mark letters in the status	column.

	      N	     Line numbers enabled via the -N option.

	      P	     Prompts.

	      R	     The rscroll character.

	      S	     Search results.

	      W	     The highlight enabled via the -w option.

	      1-5    The  text	in  a  search  result  which matches the first
		     through  fifth  parenthesized  sub-pattern.   Sub-pattern
		     coloring works only if less is built with one of the reg-
		     ular expression libraries posix, pcre, or pcre2.

	      d	     Bold text.

	      k	     Blinking text.

	      s	     Standout text.

	      u	     Underlined	text.

	      The  uppercase  letters  and  digits  can	 be used only when the
	      --use-color option is enabled.  When text	color is specified  by
	      both  an	uppercase letter and a lowercase letter, the uppercase
	      letter takes precedence.	For example, error messages  are  nor-
	      mally  displayed	as  standout text.  So if both "s" and "E" are
	      given a color, the "E" color applies to error messages, and  the
	      "s" color	applies	to other standout text.	 The lowercase letters
	      refer  to	 bold  and  underline text formed by overstriking with
	      backspaces (see the -U option) and to non-content	text (such  as
	      line  numbers and	prompts), but not to text formatted using ANSI
	      escape sequences with the	-R option (but see the note below  for
	      different	behavior on Windows and	MS-DOS).

	      A	 lowercase  letter may be followed by a	+ to indicate that the
	      normal format change and the  specified  color  should  both  be
	      used.  For example, -Dug displays	underlined text	as green with-
	      out  underlining;	 the green color has replaced the usual	under-
	      line formatting.	But -Du+g displays  underlined	text  as  both
	      green and	in underlined format.

	      color is either a	4-bit color string or an 8-bit color string:

	      A	 4-bit	color string is	one or two characters, where the first
	      character	specifies the foreground color and the	second	speci-
	      fies the background color	as follows:

	      b	     Blue

	      c	     Cyan

	      g	     Green

	      k	     Black

	      m	     Magenta

	      r	     Red

	      w	     White

	      y	     Yellow

	      The  corresponding  uppercase letter denotes a brighter shade of
	      the color.  For example, -DNGk displays line numbers  as	bright
	      green  text on a black background, and -DEbR displays error mes-
	      sages as blue text on a bright red background.  If either	 char-
	      acter  is	a "-" or is omitted, the corresponding color is	set to
	      that of normal text.

	      An 8-bit color string is one or two decimal  integers  separated
	      by a dot,	where the first	integer	specifies the foreground color
	      and  the second specifies	the background color.  Each integer is
	      a	value between 0	and 255	inclusive which	selects	a  "CSI	 38;5"
	      color			    value			  (see
	      https://en.wikipedia.org/wiki/ANSI_escape_code#SGR).  If	either
	      integer  is  a "-" or is omitted,	the corresponding color	is set
	      to that of normal	text.

	      A	4-bit or 8-bit color string may	be followed by one or more  of
	      the  following  characters to set	text attributes	in addition to
	      the color.

	      s	or ~ Standout (reverse video)

	      u	or _ Underline

	      d	or * Bold

	      l	or & Blinking

	      On MS-DOS	and Windows, the --color  option  behaves  differently
	      from what	is described above in these ways:

	      	     The bold (d and *)	and blinking (l	and &) text attributes
		     at	the end	of a color string are not supported.

	      	     Lowercase	color selector letters refer to	text formatted
		     by	ANSI escape sequences with -R, in  addition  to	 over-
		     struck and	non-content text (but see -Da).

	      	     For  historical  reasons, when a lowercase	color selector
		     letter is followed	by a numeric color value,  the	number
		     is	 not  interpreted  as an "CSI 38;5" color value	as de-
		     scribed	above,	  but	 instead    as	   a	 4-bit
		     CHAR_INFO.Attributes  value,  between  0 and 15 inclusive
		     (see		       https://learn.microsoft.com/en-
		     us/windows/console/char-info-str).

		     To	avoid confusion, it is recommended that	the equivalent
		     letters  rather  than  numbers  be	used after a lowercase
		     color selector on MS-DOS/Windows.

	      	     Numeric color values ("CSI	38;5" color) following an  up-
		     percase  color  selector letter are not supported on sys-
		     tems earlier than Windows 10.

	      	     Only a limited set	of ANSI	escape sequences to set	 color
		     in	 the  content  work  correctly.	 4-bit color sequences
		     work, but "CSI 38;5" color	sequences do not.

	      	     The -Da option makes the behavior of --color more similar
		     to	its behavior on	non-MS-DOS/Windows systems by (1) mak-
		     ing lowercase color selector letters not affect text for-
		     matted with ANSI escape sequences,	and (2)	allowing  "CSI
		     38;5" color sequences in the content work by passing them
		     to	the terminal (only on Windows 10 and later; on earlier
		     Windows systems, such sequences do	not work regardless of
		     the setting of -Da).

       -e or --quit-at-eof
	      Causes  less  to	automatically  exit the	second time it reaches
	      end-of-file.  By default,	the only way to	exit less is  via  the
	      "q" command.

       -E or --QUIT-AT-EOF
	      Causes less to automatically exit	the first time it reaches end-
	      of-file.

       -f or --force
	      Forces non-regular files to be opened.  (A non-regular file is a
	      directory	 or a device special file.)  Also suppresses the warn-
	      ing message when a binary	file is	opened.	 By default, less will
	      refuse to	open non-regular files.	 Note that some	operating sys-
	      tems will	not allow directories to be read, even if -f is	set.

       -F or --quit-if-one-screen
	      Causes less to automatically exit	if the entire file can be dis-
	      played on	the first screen.

       -g or --hilite-search
	      Normally,	less will highlight ALL	strings	which match  the  last
	      search  command.	 The  -g option	changes	this behavior to high-
	      light only the particular	string which was  found	 by  the  last
	      search command.  This can	cause less to run somewhat faster than
	      the default.

       -G or --HILITE-SEARCH
	      The  -G  option  suppresses all highlighting of strings found by
	      search commands.

       -hn or --max-back-scroll=n
	      Specifies	a maximum number of lines to scroll backward.	If  it
	      is necessary to scroll backward more than	n lines, the screen is
	      repainted	in a forward direction instead.	 (If the terminal does
	      not have the ability to scroll backward, -h0 is implied.)

       -i or --ignore-case
	      Causes searches to ignore	case; that is, uppercase and lowercase
	      are  considered identical.  This option is ignored if any	upper-
	      case letters appear in the search	pattern; in other words, if  a
	      pattern  contains	 uppercase  letters, then that search does not
	      ignore case.

       -I or --IGNORE-CASE
	      Like -i, but searches ignore case	even if	the  pattern  contains
	      uppercase	letters.

       -jn or --jump-target=n
	      Specifies	 a line	on the screen where the	"target" line is to be
	      positioned.  The target line is the line specified by  any  com-
	      mand  to	search for a pattern, jump to a	line number, jump to a
	      file percentage or jump to a tag.	 The screen line may be	speci-
	      fied by a	number:	the top	line on	the screen is 1, the  next  is
	      2, and so	on.  The number	may be negative	to specify a line rel-
	      ative to the bottom of the screen: the bottom line on the	screen
	      is  -1, the second to the	bottom is -2, and so on.  Alternately,
	      the screen line may be specified as a fraction of	the height  of
	      the  screen,  starting with a decimal point: .5 is in the	middle
	      of the screen, .3	is three tenths	down from the first line,  and
	      so  on.  If the line is specified	as a fraction, the actual line
	      number is	recalculated if	the terminal window  is	 resized.   If
	      the  --header option is used and the target line specified by -j
	      would be obscured	by the header, the target line is moved	to the
	      first line after the header.  While the --header option  is  ac-
	      tive, the	-S option is ignored, and lines	longer than the	screen
	      width are	truncated.

	      If  any form of the -j option is used, repeated forward searches
	      (invoked with "n"	or "N")	begin at the  line  immediately	 after
	      the  target  line,  and  repeated	backward searches begin	at the
	      target line, unless changed by -a	or -A.	For example, if	 "-j4"
	      is  used,	 the  target line is the fourth	line on	the screen, so
	      forward searches begin at	the fifth line on the screen.  However
	      nonrepeated searches (invoked with "/" or	"?")  always begin  at
	      the start	or end of the current screen respectively.

       -J or --status-column
	      Displays	a  status  column at the left edge of the screen.  The
	      character	displayed in the status	column may be one of:

	      >	     The line is chopped with the -S option, and the text that
		     is	chopped	off beyond the right edge of the  screen  con-
		     tains a match for the current search.

	      <	     The  line	is  horizontally shifted, and the text that is
		     shifted beyond the	left side of  the  screen  contains  a
		     match for the current search.

	      =	     The  line	is  both  chopped  and	shifted, and there are
		     matches beyond both sides of the screen.

	      *	     There are matches in the visible part  of	the  line  but
		     none to the right or left of it.

	      a-z, A-Z
		     The  line	has  been marked with the corresponding	letter
		     via the m command.

       -kfilename or --lesskey-file=filename
	      Causes less to open and interpret	the named file as a lesskey(1)
	      binary file.  Multiple -k	options	 may  be  specified.   If  the
	      LESSKEY  or  LESSKEY_SYSTEM environment variable is set, or if a
	      lesskey file is found in a standard place	(see KEY BINDINGS), it
	      is also  used  as	 a  lesskey  file.   Note  the	warning	 under
	      "--lesskey-content" below.

       --lesskey-src=filename
	      Causes less to open and interpret	the named file as a lesskey(1)
	      source  file.   If the LESSKEYIN or LESSKEYIN_SYSTEM environment
	      variable is set, or if a lesskey source file is found in a stan-
	      dard place (see KEY BINDINGS), it	is  also  used	as  a  lesskey
	      source  file.   Prior to version 582, the	lesskey	program	needed
	      to be run	to convert a lesskey source file to a  lesskey	binary
	      file  for	 less to use.  Newer versions of less read the lesskey
	      source file directly and ignore the binary file  if  the	source
	      file exists.  Note the warning under "--lesskey-content" below.

       --lesskey-content=text
	      Causes less to interpret the specified text as the contents of a
	      lesskey(1) source	file.  In the text, lesskey lines may be sepa-
	      rated  by	either newlines	as usual, or by	semicolons.  A literal
	      semicolon	may be represented by a	backslash followed by a	 semi-
	      colon.

	      Warning: certain environment variables such as LESS, LESSSECURE,
	      LESSCHARSET  and others, which are used early in startup,	cannot
	      be set in	a file specified by a command line option  (--lesskey,
	      --lesskey-src  or	--lesskey-content).  When using	a lesskey file
	      to set environment variables, it is safer	 to  use  the  default
	      lesskey  file,  or  to  specify  the file	using the LESSKEYIN or
	      LESSKEY_CONTENT environment variables rather than	using  a  com-
	      mand line	option.

       -K or --quit-on-intr
	      Causes  less  to exit immediately	(with status 2)	when an	inter-
	      rupt character (usually ^C) is typed.   Normally,	 an  interrupt
	      character	causes less to stop whatever it	is doing and return to
	      its  command  prompt.  Note that use of this option makes	it im-
	      possible to return to the	command	prompt from the	"F" command.

       -L or --no-lessopen
	      Ignore the LESSOPEN environment variable	(see  the  INPUT  PRE-
	      PROCESSOR	 section  below).   This option	can be set from	within
	      less, but	it will	apply only to files opened  subsequently,  not
	      to the file which	is currently open.

       -m or --long-prompt
	      Causes less to prompt verbosely (like more(1)), with the percent
	      into the file.  By default, less prompts with a colon.

       -M or --LONG-PROMPT
	      Causes less to prompt even more verbosely	than more(1).

       -n or --line-numbers
	      Suppresses  line numbers.	 The default (to use line numbers) may
	      cause less to run	more slowly in some cases, especially  with  a
	      very large input file.  Suppressing line numbers with the	-n op-
	      tion  will  avoid	 this  problem.	 Using line numbers means: the
	      line number will be displayed in the verbose prompt and in the =
	      command, and the v command will pass the current line number  to
	      the  editor  (see	also the discussion of LESSEDIT	in PROMPTS be-
	      low).

       -N or --LINE-NUMBERS
	      Causes a line number to be displayed at the  beginning  of  each
	      line in the display.

       -ofilename or --log-file=filename
	      Causes  less  to copy its	input to the named file	as it is being
	      viewed.  This applies only when the input	file is	a pipe,	not an
	      ordinary file.  If the file already exists, less	will  ask  for
	      confirmation before overwriting it.

       -Ofilename or --LOG-FILE=filename
	      The -O option is like -o,	but it will overwrite an existing file
	      without asking for confirmation.

	      If  no log file has been specified, the -o and -O	options	can be
	      used from	within less to specify a log  file.   Without  a  file
	      name, they will simply report the	name of	the log	file.  The "s"
	      command is equivalent to specifying -o from within less.

       -ppattern or --pattern=pattern
	      The  -p  option  on the command line is equivalent to specifying
	      +/pattern; that is, it tells less	to start at the	 first	occur-
	      rence of pattern in the file.

       -Pprompt	or --prompt=prompt
	      Provides	a  way	to  tailor the three prompt styles to your own
	      preference.  This	option would normally be put in	the LESS envi-
	      ronment variable,	rather than being typed	in with	each less com-
	      mand.  Such an option must either	be the last option in the LESS
	      variable,	or be terminated by a dollar sign.
	       -Ps followed by a string	changes	the default (short) prompt  to
	      that string.
	       -Pm changes the medium (-m) prompt.
	       -PM changes the long (-M) prompt.
	       -Ph changes the prompt for the help screen.
	       -P= changes the message printed by the =	command.
	       -Pw  changes the	message	printed	while waiting for data (in the
	      "F" command).

	      All prompt strings consist of a sequence of letters and  special
	      escape sequences.	 See the section on PROMPTS for	more details.

       -q or --quiet or	--silent
	      Causes  moderately  "quiet"  operation: the terminal bell	is not
	      rung if an attempt is made to scroll past	the end	of the file or
	      before the beginning of the file.	 If the	terminal has a "visual
	      bell", it	is used	instead.  The bell will	 be  rung  on  certain
	      other  errors, such as typing an invalid character.  The default
	      is to ring the terminal bell in all such cases.

       -Q or --QUIET or	--SILENT
	      Causes totally "quiet" operation:	the  terminal  bell  is	 never
	      rung.   If  the  terminal	has a "visual bell", it	is used	in all
	      cases where the terminal bell would have been rung.

       -r or --raw-control-chars
	      Causes "raw" control characters to be displayed.	The default is
	      to display control characters using the caret notation; for  ex-
	      ample,  a	 control-A (octal 001) is displayed as "^A" (with some
	      exceptions as described under the	-U option).  Warning: when the
	      -r option	is used, less cannot keep track	of the actual  appear-
	      ance  of	the  screen  (since this depends on how	the screen re-
	      sponds to	each type of control character).  Thus,	 various  dis-
	      play  problems may result, such as long lines being split	in the
	      wrong place.

	      USE OF THE -r OPTION IS NOT RECOMMENDED.

       -R or --RAW-CONTROL-CHARS
	      Like -r, but only	ANSI "color" escape sequences and OSC 8	hyper-
	      link sequences are output	in "raw" form.	Unlike -r, the	screen
	      appearance  is  maintained correctly, provided that there	are no
	      escape sequences in the file other than these  types  of	escape
	      sequences.   Color  escape sequences are only supported when the
	      color is changed within one line,	not across  lines.   In	 other
	      words,  the beginning of each line is assumed to be normal (non-
	      colored),	regardless of any escape sequences in previous	lines.
	      For the purpose of keeping track of screen appearance, these es-
	      cape sequences are assumed to not	move the cursor.

	      OSC 8 hyperlinks are sequences of	the form:

		   ESC ] 8 ; ... \7

	      The  terminating	sequence may be	either a BEL character (\7) or
	      the two-character	sequence "ESC \".

	      ANSI color escape	sequences are sequences	of the form:

		   ESC [ ... m

	      where the	"..." is zero or more color specification  characters.
	      You  can	make less think	that characters	other than "m" can end
	      ANSI color escape	sequences by setting the environment  variable
	      LESSANSIENDCHARS to the list of characters which can end a color
	      escape  sequence.	  And  you can make less think that characters
	      other than the standard ones may appear between the ESC and  the
	      m	 by  setting  the environment variable LESSANSIMIDCHARS	to the
	      list of characters which can appear.

       -s or --squeeze-blank-lines
	      Causes consecutive blank lines to	 be  squeezed  into  a	single
	      blank line.  This	is useful when viewing nroff output.

       -S or --chop-long-lines
	      Causes  lines  longer than the screen width to be	chopped	(trun-
	      cated) rather than wrapped.  That	is, the	portion	of a long line
	      that does	not fit	in the screen width is not displayed until you
	      press RIGHT-ARROW.  The default is to wrap long lines; that  is,
	      display the remainder on the next	line.  See also	the --wordwrap
	      option.

       -ttag or	--tag=tag
	      The -t option, followed immediately by a TAG, will edit the file
	      containing  that tag.  For this to work, tag information must be
	      available; for example, there may	be a file in the  current  di-
	      rectory called "tags", which was previously built	by ctags(1) or
	      an equivalent command.  If the environment variable LESSGLOBALT-
	      AGS  is  set, it is taken	to be the name of a command compatible
	      with global(1), and that command is executed to  find  the  tag.
	      (See  http://www.gnu.org/software/global/global.html).   The  -t
	      option may also be specified from	within less (using the -  com-
	      mand)  as	 a  way	 of examining a	new file.  The command ":t" is
	      equivalent to specifying -t from within less.

       -Ttagsfile or --tag-file=tagsfile
	      Specifies	a tags file to be used instead of "tags".

       -u or --underline-special
	      Causes backspaces	and carriage returns to	be treated  as	print-
	      able  characters;	 that  is,  they are sent to the terminal when
	      they appear in the input.

       -U or --UNDERLINE-SPECIAL
	      Causes backspaces, tabs, carriage	returns	and "formatting	 char-
	      acters" (as defined by Unicode) to be treated as control charac-
	      ters; that is, they are handled as specified by the -r option.

	      By  default, if neither -u nor -U	is given, backspaces which ap-
	      pear adjacent to an underscore character are treated  specially:
	      the  underlined  text is displayed using the terminal's hardware
	      underlining capability.  Also, backspaces	which  appear  between
	      two  identical  characters are treated specially:	the overstruck
	      text is printed using the	terminal's hardware boldface capabili-
	      ty.  Other backspaces are	 deleted,  along  with	the  preceding
	      character.   Carriage  returns immediately followed by a newline
	      are deleted.  Other carriage returns are handled as specified by
	      the -r option.  Unicode formatting characters, such as the  Byte
	      Order  Mark, are sent to the terminal.  Text which is overstruck
	      or underlined can	be searched for	if neither -u nor -U is	in ef-
	      fect.

	      See also the --proc-backspace, --proc-tab, and --proc-return op-
	      tions.

       -V or --version
	      Displays the version number of less.

       -w or --hilite-unread
	      Temporarily highlights the first	"new"  line  after  a  forward
	      movement of a full page.	The first "new"	line is	the line imme-
	      diately  following  the  line  previously	 at  the bottom	of the
	      screen.  Also highlights the target line after a g or p command.
	      The highlight is removed at the next command which causes	 move-
	      ment.  If	the --status-line option is in effect, the entire line
	      (the  width  of the screen) is highlighted.  Otherwise, only the
	      text in the line is highlighted, unless the -J option is in  ef-
	      fect, in which case only the status column is highlighted.

       -W or --HILITE-UNREAD
	      Like -w, but temporarily highlights the first new	line after any
	      forward movement command larger than one line.

       -xn,... or --tabs=n,...
	      Sets  tab	 stops.	 If only one n is specified, tab stops are set
	      at multiples of n.  If multiple values separated by  commas  are
	      specified,  tab  stops are set at	those positions, and then con-
	      tinue with the same spacing  as  the  last  two.	 For  example,
	      "-x9,17" will set	tabs at	positions 9, 17, 25, 33, etc.  The de-
	      fault for	n is 8.

       -X or --no-init
	      Disables sending the termcap initialization and deinitialization
	      strings  to  the	terminal.   This is sometimes desirable	if the
	      deinitialization string does something unnecessary, like	clear-
	      ing the screen.

       -yn or --max-forw-scroll=n
	      Specifies	a maximum number of lines to scroll forward.  If it is
	      necessary	to scroll forward more than n lines, the screen	is re-
	      painted  instead.	  The  -c  or -C option	may be used to repaint
	      from the top of the screen if desired.  By default, any  forward
	      movement causes scrolling.

       -zn or --window=n or -n
	      Changes  the  default scrolling window size to n lines.  The de-
	      fault is one screenful.  The z and w commands can	also  be  used
	      to  change the window size.  The "z" may be omitted for compati-
	      bility with some versions	of more(1).  If	the number n is	 nega-
	      tive,  it	 indicates  n lines less than the current screen size.
	      For example, if the screen is 24 lines, -z-4 sets	the  scrolling
	      window  to  20 lines.  If	the screen is resized to 40 lines, the
	      scrolling	window automatically changes to	36 lines.

       -"cc or --quotes=cc
	      Changes the filename quoting character.  This may	 be  necessary
	      if  you are trying to name a file	which contains both spaces and
	      quote characters.	 Followed by a single character, this  changes
	      the  quote  character to that character.	Filenames containing a
	      space should then	be surrounded by that character	rather than by
	      double quotes.  Followed by two  characters,  changes  the  open
	      quote  to	the first character, and the close quote to the	second
	      character.  Filenames containing a space should then be preceded
	      by the open quote	character and  followed	 by  the  close	 quote
	      character.   Note	 that  even  after  the	 quote	characters are
	      changed, this option remains -" (a dash  followed	 by  a	double
	      quote).

       -~ or --tilde
	      Normally lines after end of file are displayed as	a single tilde
	      (~).  This option	causes lines after end of file to be displayed
	      as blank lines.

       -# or --shift
	      Specifies	the default number of positions	to scroll horizontally
	      in  the RIGHTARROW and LEFTARROW commands.  If the number	speci-
	      fied is zero, it sets the	default	number	of  positions  to  one
	      half of the screen width.	 Alternately, the number may be	speci-
	      fied  as	a fraction of the width	of the screen, starting	with a
	      decimal point: .5	is half	of  the	 screen	 width,	 .3  is	 three
	      tenths  of the screen width, and so on.  If the number is	speci-
	      fied as a	fraction, the actual number of scroll positions	is re-
	      calculated if the	terminal window	is resized.

       --exit-follow-on-close
	      When using the "F" command on a pipe,  less  will	 automatically
	      stop  waiting  for  more data when the input side	of the pipe is
	      closed.

       --file-size
	      If --file-size is	specified, less	will determine the size	of the
	      file immediately after opening the file.	Then the  "="  command
	      will  display the	number of lines	in the file.  Normally this is
	      not done,	because	it can be slow if the input file is  non-seek-
	      able (such as a pipe) and	is large.

       --follow-name
	      Normally,	if the input file is renamed while an F	command	is ex-
	      ecuting, less will continue to display the contents of the orig-
	      inal  file  despite its name change.  If --follow-name is	speci-
	      fied, during an F	command	less will periodically attempt to  re-
	      open the file by name.  If the reopen succeeds and the file is a
	      different	 file  from  the original (which means that a new file
	      has been created with the	same name as  the  original  (now  re-
	      named) file), less will display the contents of that new file.

       --header=L,C,N
	      Sets  the	 number	 of  header lines and columns displayed	on the
	      screen.  The number of header lines is set to L.	 If  L	is  0,
	      header lines are disabled.  If L is empty	or missing, the	number
	      of  header  lines	is unchanged.  The number of header columns is
	      set to C.	 If C is 0, header columns are disabled.  If C is emp-
	      ty or missing, the number	of header columns is  unchanged.   The
	      first  header line is set	to line	number N in the	file.  If N is
	      empty or missing,	it is taken to be the number of	the line  cur-
	      rently displayed in the first line of the	screen (if the --head-
	      er  command  has	been  issued  from  within less), or 1 (if the
	      --header option has been given on	the command line).   The  spe-
	      cial form	"--header=-" disables header lines and header columns,
	      and is equivalent	to "--header=0,0".

	      When  L  is  nonzero, the	first L	lines at the top of the	screen
	      are replaced with	the L lines of the file	beginning at  line  N,
	      regardless of what part of the file is being viewed.  When head-
	      er lines are displayed, any file contents	before the header line
	      cannot  be  viewed.   When  C is nonzero,	the first C characters
	      displayed	at the beginning of each line are  replaced  with  the
	      first  C characters of the line, even if the rest	of the line is
	      scrolled horizontally.

       --incsearch
	      Subsequent search	commands will be "incremental";	that is,  less
	      will  advance  to	the next line containing the search pattern as
	      each character of	the pattern is typed in.

       --intr=c
	      Use the character	c instead of ^X	to interrupt a read  when  the
	      "Waiting	for  data"  message  is	displayed.  c must be an ASCII
	      character; that is, one with a value between 1  and  127	inclu-
	      sive.   A	 caret	followed  by a single character	can be used to
	      specify a	control	character.

       --line-num-width=n
	      Sets the minimum width of	the line number	field when the -N  op-
	      tion is in effect	to n characters.  The default is 7.

       --match-shift=n
	      When  -S	is in effect, if a search match	is not visible because
	      it is shifted to the left	or  right  of  the  currently  visible
	      screen,  the  text  will	horizontally  shift to ensure that the
	      search match is visible.	This  option  selects  the  column  in
	      which the	first character	of the search match will be placed af-
	      ter the shift.  In other words, there will be n characters visi-
	      ble to the left of the search match.

	      Alternately,  the	 number	 may be	specified as a fraction	of the
	      width of the screen, starting with a decimal point: .5  is  half
	      of the screen width, .3 is three tenths of the screen width, and
	      so  on.	If  the	 number	is specified as	a fraction, the	actual
	      number of	scroll positions is recalculated if the	terminal  win-
	      dow is resized.

       --modelines=n
	      Before  displaying  a  file, less	will read the first n lines to
	      try to find a vim-compatible modeline.  If n is zero, less  does
	      not try to find modelines.  By using a modeline, the file	itself
	      can specify the tab stops	that should be used when viewing it.

	      A	modeline contains, anywhere in the line, a program name	("vi",
	      "vim",  "ex", or "less"),	followed by a colon, possibly followed
	      by the word "set", and finally followed by zero or  more	option
	      settings.	  If the word "set" is used, option settings are sepa-
	      rated by spaces, and end at the first colon.  If the word	 "set"
	      is  not  used, option settings may be separated by either	spaces
	      or colons.  The word "set" is required if	the  program  name  is
	      "less"  but  optional  if	any of the other three names are used.
	      If any option setting is of the form "tabstop=n" or "ts=n", then
	      tab stops	are automatically set as if --tabs=n had  been	given.
	      See the --tabs description for acceptable	values of n.

       --mouse
	      Enables  mouse  input: scrolling the mouse wheel down moves for-
	      ward in the file,	scrolling the mouse wheel up  moves  backwards
	      in  the file, left-click sets the	"#" mark to the	line where the
	      mouse is clicked,	and right-click	(or any	other) returns to  the
	      "#"  mark	position.  If a	left-click is performed	with the mouse
	      cursor on	an OSC 8 hyperlink, the	hyperlink is selected as if by
	      the ^O^N command.	 If a left-click is performed with  the	 mouse
	      cursor  on an OSC	8 hyperlink which is already selected, the hy-
	      perlink is opened	as if by the  ^O^O  command.   The  number  of
	      lines  to	 scroll	 when  the  wheel  is  moved can be set	by the
	      --wheel-lines option.  Mouse input works only on terminals which
	      support X11 mouse	reporting, and on the Windows version of less.

       --MOUSE
	      Like --mouse, except the direction scrolled on mouse wheel move-
	      ment is reversed.

       --no-keypad
	      Disables sending the keypad initialization and  deinitialization
	      strings to the terminal.	This is	sometimes useful if the	keypad
	      strings make the numeric keypad behave in	an undesirable manner.

       --no-histdups
	      This  option  changes the	behavior so that if a search string or
	      file name	is typed in, and the same string  is  already  in  the
	      history list, the	existing copy is removed from the history list
	      before  the  new one is added.  Thus, a given string will	appear
	      only once	in the history list.  Normally,	a  string  may	appear
	      multiple times.

       --no-number-headers
	      Header  lines (defined via the --header option) are not assigned
	      line numbers.  Line number 1 is assigned to the first line after
	      any header lines.

       --no-search-header-lines
	      Searches do not include header lines, but	still  include	header
	      columns.

       --no-search-header-columns
	      Searches do not include header columns, but still	include	header
	      lines.

       --no-search-headers
	      Searches do not include header lines or header columns.

       --no-vbell
	      Disables the terminal's visual bell.

       --proc-backspace
	      If  set,	backspaces are handled as if neither the -u option nor
	      the -U option were set.  That is,	a backspace adjacent to	an un-
	      derscore causes text to be displayed in underline	 mode,	and  a
	      backspace	 between  identical  characters	 cause text to be dis-
	      played in	boldface mode.	This option overrides the  -u  and  -U
	      options,	so  that display of backspaces can be controlled sepa-
	      rate from	tabs and carriage returns.  If not set,	backspace dis-
	      play is controlled by the	-u and -U options.

       --PROC-BACKSPACE
	      If set, backspaces are handled as	if the	-U  option  were  set;
	      that is backspaces are treated as	control	characters.

       --proc-return
	      If set, carriage returns are handled as if neither the -u	option
	      nor  the -U option were set.  That is, a carriage	return immedi-
	      ately before a newline is	deleted.  This option overrides	the -u
	      and -U options, so that display of carriage returns can be  con-
	      trolled  separate	from that of backspaces	and tabs.  If not set,
	      carriage return display is controlled by the -u and -U options.

       --PROC-RETURN
	      If set, carriage returns are handled as if the  -U  option  were
	      set; that	is carriage returns are	treated	as control characters.

       --proc-tab
	      If set, tabs are handled as if the -U option were	not set.  That
	      is,  tabs	 are expanded to spaces.  This option overrides	the -U
	      option, so that display of tabs can be controlled	separate  from
	      that  of	backspaces and carriage	returns.  If not set, tab dis-
	      play is controlled by the	-U options.

       --PROC-TAB
	      If set, tabs are handled as if the -U option were	set;  that  is
	      tabs are treated as control characters.

       --redraw-on-quit
	      When  quitting,  after  sending  the  terminal  deinitialization
	      string, redraws the entire last screen.  On terminals whose ter-
	      minal deinitialization string causes the terminal	to switch from
	      an alternate screen, this	makes the last screenful of  the  cur-
	      rent file	remain visible after less has quit.

       --rscroll=c
	      This  option changes the character used to mark truncated	lines.
	      It may begin with	a two-character	attribute indicator like LESS-
	      BINFMT does.  If there is	no attribute  indicator,  standout  is
	      used.  If	set to "-", truncated lines are	not marked.

       --save-marks
	      Save  marks  in  the  history file, so marks are retained	across
	      different	invocations of less.

       --search-options=...
	      Sets default search modifiers.  The value	is a string of one  or
	      more of the characters E,	F, K, N, R or W.  Setting any of these
	      has  the same effect as typing that control character at the be-
	      ginning of every search pattern.	For example, setting --search-
	      options=W	is the same as typing ^W at  the  beginning  of	 every
	      pattern.	 The  value  may also contain a	digit between 1	and 5,
	      which has	the same effect	as typing ^S followed by that digit at
	      the beginning of every search pattern.  The value	 "-"  disables
	      all default search modifiers.

       --show-preproc-errors
	      If a preprocessor	produces data, then exits with a non-zero exit
	      code, less will display a	warning.

       --status-col-width=n
	      Sets the width of	the status column when the -J option is	in ef-
	      fect.  The default is 2 characters.

       --status-line
	      If  a line is marked, the	entire line (rather than just the sta-
	      tus column) is highlighted.  Also	lines highlighted due  to  the
	      -w option	will have the entire line highlighted.	If --use-color
	      is set, the line is colored rather than highlighted.

       --use-backslash
	      This  option changes the interpretations of options which	follow
	      this one.	 After the --use-backslash option, any backslash in an
	      option string is removed and the following  character  is	 taken
	      literally.   This	 allows	a dollar sign to be included in	option
	      strings.

       --use-color
	      Enables colored text in various places.  The -D  option  can  be
	      used  to change the colors.  Colored text	works only if the ter-
	      minal supports  ANSI  color  escape  sequences  (as  defined  in
	      https://www.ecma-international.org/publications-and-
	      standards/standards/ecma-48).

       --wheel-lines=n
	      Set  the	number	of  lines  to  scroll  when the	mouse wheel is
	      scrolled and the --mouse or --MOUSE option is  in	 effect.   The
	      default is 1 line.

       --wordwrap
	      When  the	 -S option is not in use, wrap each line at a space or
	      tab if possible, so that a word is not split between two	lines.
	      The default is to	wrap at	any character.

       --     A	 command  line	argument of "--" marks the end of option argu-
	      ments.  Any arguments following this are	interpreted  as	 file-
	      names.  This can be useful when viewing a	file whose name	begins
	      with a "-" or "+".

       +      If  a  command  line option begins with +, the remainder of that
	      option is	taken to be an initial command to less.	 For  example,
	      +G  tells	 less  to start	at the end of the file rather than the
	      beginning, and +/xyz tells it to start at	the  first  occurrence
	      of  "xyz"	 in  the file.	As a special case, +<number> acts like
	      +<number>g; that is, it starts the display at the	specified line
	      number (however, see the caveat under the	 "g"  command  above).
	      If  the  option  starts  with ++,	the initial command applies to
	      every file being viewed, not just	the first one.	The +  command
	      described	previously may also be used to set (or change) an ini-
	      tial command for every file.

LINE EDITING
       When  entering a	command	line at	the bottom of the screen (for example,
       a filename for the :e command, or the pattern for  a  search  command),
       certain keys can	be used	to manipulate the command line.	 Most commands
       have  an	alternate form in [ brackets ] which can be used if a key does
       not exist on a particular keyboard.  (Note  that	 the  forms  beginning
       with  ESC do not	work in	some MS-DOS and	Windows	systems	because	ESC is
       the line	erase character.)  Any of these	special	keys  may  be  entered
       literally  by  preceding	 it with the "literal" character, either ^V or
       ^A.  A backslash	itself may also	be entered literally by	 entering  two
       backslashes.

       LEFTARROW [ ESC-h ]
	      Move the cursor one space	to the left.

       RIGHTARROW [ ESC-l ]
	      Move the cursor one space	to the right.

       ^LEFTARROW [ ESC-b or ESC-LEFTARROW ]
	      (That  is, CONTROL and LEFTARROW simultaneously.)	 Move the cur-
	      sor one word to the left.

       ^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]
	      (That is,	CONTROL	and RIGHTARROW simultaneously.)	 Move the cur-
	      sor one word to the right.

       HOME [ ESC-0 ]
	      Move the cursor to the beginning of the line.

       END [ ESC-$ ]
	      Move the cursor to the end of the	line.

       BACKSPACE
	      Delete the character to the left of the cursor,  or  cancel  the
	      command if the command line is empty.

       DELETE or [ ESC-x ]
	      Delete the character under the cursor.

       ^BACKSPACE [ ESC-BACKSPACE ]
	      (That  is,  CONTROL  and	BACKSPACE simultaneously.)  Delete the
	      word to the left of the cursor.

       ^DELETE [ ESC-X or ESC-DELETE ]
	      (That is,	CONTROL	and DELETE simultaneously.)  Delete  the  word
	      under the	cursor.

       UPARROW [ ESC-k ]
	      Retrieve	the  previous  command	line.  If you first enter some
	      text and then press UPARROW, it will retrieve the	previous  com-
	      mand which begins	with that text.

       DOWNARROW [ ESC-j ]
	      Retrieve	the  next  command line.  If you first enter some text
	      and then press DOWNARROW,	it  will  retrieve  the	 next  command
	      which begins with	that text.

       TAB    Complete	the partial filename to	the left of the	cursor.	 If it
	      matches more than	one filename, the first	match is entered  into
	      the  command  line.   Repeated  TABs  will  cycle	thru the other
	      matching filenames.  If the completed filename is	a directory, a
	      "/" is appended to the filename.	(On MS-DOS  and	 Windows  sys-
	      tems,  a "\" is appended.)  The environment variable LESSSEPARA-
	      TOR can be used to specify a different character to append to  a
	      directory	name.

       BACKTAB [ ESC-TAB ]
	      Like, TAB, but cycles in the reverse direction thru the matching
	      filenames.

       ^L     Complete	the partial filename to	the left of the	cursor.	 If it
	      matches more than	one filename, all matches are entered into the
	      command line (if they fit).

       ^U (Unix	and OS/2) or ESC (MS-DOS and Windows)
	      Delete the entire	command	line, or cancel	 the  command  if  the
	      command line is empty.  If you have changed your line-kill char-
	      acter in Unix to something other than ^U,	that character is used
	      instead of ^U.

       ^G     Delete the entire	command	line and return	to the main prompt.

KEY BINDINGS
       You  may	 define	 your  own  less commands by creating a	lesskey	source
       file.  This file	specifies a set	of command keys	and an action  associ-
       ated  with  each	 key.	You may	also change the	line-editing keys (see
       LINE EDITING), and set environment variables used  by  less.   See  the
       lesskey(1) manual page for details about	the file format.

       If  the	environment  variable  LESSKEYIN is set, less uses that	as the
       name of the lesskey source file.	 Otherwise, less looks in  a  standard
       place  for  the	lesskey	source file: On	Unix systems, less looks for a
       lesskey	file   called	"$XDG_CONFIG_HOME/lesskey"   or	  "$HOME/.con-
       fig/lesskey"  or	"$HOME/.lesskey".  On MS-DOS and Windows systems, less
       looks for a lesskey file	called "$HOME/_lesskey",  and  if  it  is  not
       found there, then looks for a lesskey file called "_lesskey" in any di-
       rectory	specified  in the PATH environment variable.  On OS/2 systems,
       less looks for a	lesskey	file called "$HOME/lesskey.ini", and if	it  is
       not  found,  then  looks	for a lesskey file called "lesskey.ini"	in any
       directory specified in the INIT environment variable,  and  if  it  not
       found  there, then looks	for a lesskey file called "lesskey.ini"	in any
       directory specified in the PATH environment variable.

       A system-wide lesskey source file may also be set  up  to  provide  key
       bindings.   If a	key is defined in both a local lesskey file and	in the
       system-wide file, key bindings in the local file	take  precedence  over
       those   in   the	  system-wide	file.	If  the	 environment  variable
       LESSKEYIN_SYSTEM	is set,	less uses that as the name of the  system-wide
       lesskey	file.	Otherwise, less	looks in a standard place for the sys-
       tem-wide	lesskey	file: On Unix systems, the system-wide lesskey file is
       /usr/local/etc/syslesskey.  (However, if	less was built with a  differ-
       ent  sysconf directory than /usr/local/etc, that	directory is where the
       sysless file is found.)	On MS-DOS and Windows systems, the system-wide
       lesskey file is	c:\_syslesskey.	  On  OS/2  systems,  the  system-wide
       lesskey file is c:\syslesskey.ini.

       Previous	versions of less (before v582) used lesskey files with a bina-
       ry  format,  produced by	the lesskey program. It	is no longer necessary
       to use the lesskey program.

INPUT PREPROCESSOR
       You may define an "input	preprocessor" for less.	 Before	less  opens  a
       file, it	first gives your input preprocessor a chance to	modify the way
       the  contents of	the file are displayed.	 An input preprocessor is sim-
       ply an executable program (or shell script), which writes the  contents
       of the file to a	different file,	called the replacement file.  The con-
       tents  of  the replacement file are then	displayed in place of the con-
       tents of	the original file.  However, it	will appear to the user	as  if
       the  original  file  is opened; that is,	less will display the original
       filename	as the name of the current file.

       An input	preprocessor receives one command line argument, the  original
       filename,  as  entered  by  the user.  It should	create the replacement
       file, and when finished,	print the name of the replacement file to  its
       standard	 output.  If the input preprocessor does not output a replace-
       ment filename, less uses	the original file, as normal.  The input  pre-
       processor  is not called	when viewing standard input.  To set up	an in-
       put preprocessor, set the LESSOPEN environment variable	to  a  command
       line  which  will  invoke  your	input preprocessor.  This command line
       should include one occurrence of	the string "%s",  which	 will  be  re-
       placed by the filename when the input preprocessor command is invoked.

       When less closes	a file opened in such a	way, it	will call another pro-
       gram,  called  the  input  postprocessor, which may perform any desired
       clean-up	action (such as	 deleting  the	replacement  file  created  by
       LESSOPEN).  This	program	receives two command line arguments, the orig-
       inal  filename  as entered by the user, and the name of the replacement
       file.  To set up	an input postprocessor,	set the	LESSCLOSE  environment
       variable	 to a command line which will invoke your input	postprocessor.
       It may include two occurrences of the string "%s";  the	first  is  re-
       placed  with the	original name of the file and the second with the name
       of the replacement file,	which was output by LESSOPEN.

       For example, on many Unix systems, these	two scripts will allow you  to
       keep files in compressed	format,	but still let less view	them directly:

       lessopen.sh:
	    #! /bin/sh
	    case "$1" in
	    *.Z) TEMPFILE=$(mktemp)
		 uncompress -c $1  >$TEMPFILE  2>/dev/null
		 if [ -s $TEMPFILE ]; then
		      echo $TEMPFILE
		 else
		      rm -f $TEMPFILE
		 fi
		 ;;
	    esac

       lessclose.sh:
	    #! /bin/sh
	    rm $2

       To  use these scripts, put them both where they can be executed and set
       LESSOPEN="lessopen.sh %s",  and	LESSCLOSE="lessclose.sh	%s %s".	  More
       complex	LESSOPEN  and LESSCLOSE	scripts	may be written to accept other
       types of	compressed files, and so on.

       It is also possible to set up an	input preprocessor to  pipe  the  file
       data  directly to less, rather than putting the data into a replacement
       file.  This avoids the need to decompress the entire file before	start-
       ing to view it.	An input preprocessor that works this way is called an
       input pipe.  An input pipe, instead of writing the name of  a  replace-
       ment file on its	standard output, writes	the entire contents of the re-
       placement  file	on  its	 standard  output.  If the input pipe does not
       write any characters on its standard output, then there is no  replace-
       ment  file and less uses	the original file, as normal.  To use an input
       pipe, make the first character in the LESSOPEN environment  variable  a
       vertical	 bar  (|)  to  signify that the	input preprocessor is an input
       pipe.  As with non-pipe input preprocessors, the	 command  string  must
       contain	one  occurrence	 of %s,	which is replaced with the filename of
       the input file.

       For example, on many Unix systems, this script will work	like the  pre-
       vious example scripts:

       lesspipe.sh:
	    #! /bin/sh
	    case "$1" in
	    *.Z) uncompress -c $1  2>/dev/null
		 ;;
	    *)	 exit 1
		 ;;
	    esac
	    exit $?

       To  use	this  script,  put  it	where  it  can	be  executed  and  set
       LESSOPEN="|lesspipe.sh %s".

       Note that a preprocessor	cannot output an empty file, since that	is in-
       terpreted as meaning there is no	replacement, and the original file  is
       used.   To  avoid  this,	if LESSOPEN starts with	two vertical bars, the
       exit status of the script determines the	behavior when  the  output  is
       empty.	If  the	output is empty	and the	exit status is zero, the empty
       output is considered to be replacement text.  If	the  output  is	 empty
       and the exit status is nonzero, the original file is used.  For compat-
       ibility	with  previous	versions of less, if LESSOPEN starts with only
       one vertical bar, the exit status of the	preprocessor is	ignored.

       When an input pipe is used, a LESSCLOSE postprocessor can be used,  but
       it is usually not necessary since there is no replacement file to clean
       up.   In	 this  case, the replacement file name passed to the LESSCLOSE
       postprocessor is	"-".

       For compatibility with previous versions	of less, the input  preproces-
       sor or pipe is not used if less is viewing standard input.  However, if
       the  first  character of	LESSOPEN is a dash (-),	the input preprocessor
       is used on standard input as well as other files.  In  this  case,  the
       dash  is	 not  considered  to  be part of the preprocessor command.  If
       standard	input is being viewed, the input preprocessor is passed	a file
       name consisting of a single dash.  Similarly, if	the first two  charac-
       ters  of	 LESSOPEN  are vertical	bar and	dash (|-) or two vertical bars
       and a dash (||-), the input pipe	is used	on standard input as  well  as
       other files.  Again, in this case the dash is not considered to be part
       of the input pipe command.

NATIONAL CHARACTER SETS
       There are three types of	characters in the input	file:

       normal characters
	      can be displayed directly	to the screen.

       control characters
	      should  not  be displayed	directly, but are expected to be found
	      in ordinary text files (such as backspace	and tab).

       binary characters
	      should not be displayed directly and  are	 not  expected	to  be
	      found in text files.

       A "character set" is simply a description of which characters are to be
       considered  normal,  control,  and binary.  The LESSCHARSET environment
       variable	may be used to select a	character set.	 Possible  values  for
       LESSCHARSET are:

       ascii  BS,  TAB,	NL, CR,	and formfeed are control characters, all chars
	      with values between 32 and 126 are normal, and  all  others  are
	      binary.

       iso8859
	      Selects  an  ISO 8859 character set.  This is the	same as	ASCII,
	      except characters	between	160 and	 255  are  treated  as	normal
	      characters.

       latin1 Same as iso8859.

       latin9 Same as iso8859.

       dos    Selects a	character set appropriate for MS-DOS.

       ebcdic Selects an EBCDIC	character set.

       IBM-1047
	      Selects  an  EBCDIC  character set used by OS/390	Unix Services.
	      This is the EBCDIC analogue of latin1.  You get similar  results
	      by setting either	LESSCHARSET=IBM-1047 or	LC_CTYPE=en_US in your
	      environment.

       koi8-r Selects a	Russian	character set.

       next   Selects a	character set appropriate for NeXT computers.

       utf-8  Selects  the  UTF-8  encoding  of	 the  ISO 10646	character set.
	      UTF-8 is special in that it supports  multi-byte	characters  in
	      the input	file.  It is the only character	set that supports mul-
	      ti-byte characters.

       windows
	      Selects  a  character  set appropriate for Microsoft Windows (cp
	      1252).

       In rare cases, it may be	desired	to tailor less to use a	character  set
       other  than the ones definable by LESSCHARSET.  In this case, the envi-
       ronment variable	LESSCHARDEF can	be used	to define a character set.  It
       should be set to	a string where each character in the string represents
       one character in	the character set.  The	character "." is  used	for  a
       normal  character, "c" for control, and "b" for binary.	A decimal num-
       ber may be used for repetition.	 For  example,	"bccc4b."  would  mean
       character  0 is binary, 1, 2 and	3 are control, 4, 5, 6 and 7 are bina-
       ry, and 8 is normal.  All characters after the last are taken to	be the
       same as the last, so characters 9 through 255 would be  normal.	 (This
       is  an  example,	 and does not necessarily represent any	real character
       set.)

       This table shows	the value of LESSCHARDEF which is equivalent  to  each
       of the possible values for LESSCHARSET:
	    ascii      8bcccbcc18b95.b
	    dos	       8bcccbcc12bc5b95.b.
	    ebcdic     5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b
		       9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
	    IBM-1047   4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc
		       191.b
	    iso8859    8bcccbcc18b95.33b.
	    koi8-r     8bcccbcc18b95.b128.
	    latin1     8bcccbcc18b95.33b.
	    next       8bcccbcc18b95.bb125.bb

       If  neither  LESSCHARSET	nor LESSCHARDEF	is set,	but any	of the strings
       "UTF-8",	"UTF8",	"utf-8"	or "utf8" is found in the LC_ALL, LC_CTYPE  or
       LANG environment	variables, then	the default character set is utf-8.

       If that string is not found, but	your system supports the setlocale in-
       terface,	 less will use setlocale to determine the character set.  set-
       locale is controlled by setting the LANG	or LC_CTYPE environment	 vari-
       ables.

       Finally,	 if the	setlocale interface is also not	available, the default
       character set is	utf-8.

       Control and  binary  characters	are  displayed	in  standout  (reverse
       video).	Each such character is displayed in caret notation if possible
       (e.g.  ^A for control-A).  Caret	notation is used only if inverting the
       0100 bit	results	in a normal printable character.  Otherwise, the char-
       acter is	displayed as a hex number in angle brackets.  This format  can
       be  changed by setting the LESSBINFMT environment variable.  LESSBINFMT
       may begin with a	"*" and	one character to select	the display attribute:
       "*k" is blinking, "*d" is bold, "*u" is underlined, "*s"	 is  standout,
       and  "*n"  is  normal.  If LESSBINFMT does not begin with a "*",	normal
       attribute is assumed.  The remainder of LESSBINFMT is  a	 string	 which
       may  include one	printf-style escape sequence (a	% followed by x, X, o,
       d, etc.).  For example, if LESSBINFMT is	 "*u[%x]",  binary  characters
       are  displayed  in  underlined hexadecimal surrounded by	brackets.  The
       default if no LESSBINFMT	is specified is	"*s<%02X>".  Warning: the  re-
       sult  of	 expanding  the	 character via LESSBINFMT must be less than 31
       characters.

       When the	character set is utf-8,	the LESSUTFBINFMT environment variable
       acts similarly to LESSBINFMT but	it applies to Unicode code points that
       were successfully decoded but are unsuitable for	display	 (e.g.,	 unas-
       signed  code  points).	Its  default  value is "<U+%04lX>".  Note that
       LESSUTFBINFMT and LESSBINFMT  share  their  display  attribute  setting
       ("*x")  so specifying one will affect both; LESSUTFBINFMT is read after
       LESSBINFMT so its setting, if any,  will	 have  priority.   Problematic
       octets  in  a  UTF-8  file (octets of a truncated sequence, octets of a
       complete	but non-shortest form  sequence,  invalid  octets,  and	 stray
       trailing	 octets)  are displayed	individually using LESSBINFMT so as to
       facilitate diagnostic of	how the	UTF-8 file is ill-formed.

       When the	character set is utf-8,	in rare	cases it may be	 desirable  to
       override	the Unicode definition of the type of certain characters.  For
       example,	 characters in a Private Use Area are normally treated as con-
       trol characters,	but if you are using  a	 custom	 font  with  printable
       characters  in  that  range,  it	may be desirable to tell less to treat
       such characters as printable.  This can be done by setting the  LESSUT-
       FCHARDEF	 environment  variable	to a comma-separated list of character
       type definitions.  Each character type definition  consists  of	either
       one  hexadecimal	codepoint or a pair of codepoints separated by a dash,
       followed	by a colon and a type character.  Each	hexadecimal  codepoint
       may  optionally	be preceded by a "U" or	"U+".  If a pair of codepoints
       is given, the type is set for all characters  inclusively  between  the
       two  values.   If  there	are multiple comma-separated codepoint values,
       they must be in ascending numerical order.  The type character  may  be
       one of:

	      p	     A normal printable	character.

	      w	     A wide (2-space) printable	character.

	      b	     A binary (non-printable) character.

	      c	     A composing (zero width) character.

       For example, setting LESSUTFCHARDEF to

	    E000-F8FF:p,F0000-FFFFD:p,100000-10FFFD:p

       would make all Private Use Area characters be treated as	printable.

PROMPTS
       The  -P option allows you to tailor the prompt to your preference.  The
       string given to the -P option replaces  the  specified  prompt  string.
       Certain characters in the string	are interpreted	specially.  The	prompt
       mechanism  is  rather complicated to provide flexibility, but the ordi-
       nary user need not understand the details of constructing  personalized
       prompt strings.

       A  percent sign followed	by a single character is expanded according to
       what the	following character is.	 (References to	the  input  file  size
       below refer to the preprocessed size, if	an input preprocessor is being
       used.)

       %bX    Replaced	by the byte offset into	the current input file.	 The b
	      is followed by a single character	(shown as X above) which spec-
	      ifies the	line whose byte	offset is to be	used.  If the  charac-
	      ter  is a	"t", the byte offset of	the top	line in	the display is
	      used, an "m" means use the middle	line, a	"b" means use the bot-
	      tom line,	a "B" means use	the line just after the	 bottom	 line,
	      and  a  "j"  means use the "target" line,	as specified by	the -j
	      option.

       %B     Replaced by the size of the current input	file.

       %c     Replaced by the column number of the text	appearing in the first
	      column of	the screen.

       %dX    Replaced by the page number of a line in the  input  file.   The
	      line to be used is determined by the X, as with the %b option.

       %D     Replaced	by  the	 number	of pages in the	input file, or equiva-
	      lently, the page number of the last line in the input file.

       %E     Replaced by the name of the editor (from the VISUAL  environment
	      variable,	 or  the  EDITOR environment variable if VISUAL	is not
	      defined).	 See the discussion of the LESSEDIT feature below.

       %f     Replaced by the name of the current input	file.

       %F     Replaced by the last component of	the name of the	current	 input
	      file.

       %g     Replaced	by  the	 shell-escaped name of the current input file.
	      This is useful when the expanded string will be used in a	 shell
	      command, such as in LESSEDIT.

       %i     Replaced	by  the	index of the current file in the list of input
	      files.

       %lX    Replaced by the line number of a line in the  input  file.   The
	      line to be used is determined by the X, as with the %b option.

       %L     Replaced by the line number of the last line in the input	file.

       %m     Replaced by the total number of input files.

       %o     Replaced	by  the	URI of the currently selected OSC 8 hyperlink,
	      or a question mark if no hyperlink is selected.  This is used by
	      OSC 8 handlers as	explained in the ^O^O command description.

       %pX    Replaced by the percent into the current input  file,  based  on
	      byte  offsets.  The line used is determined by the X as with the
	      %b option.

       %PX    Replaced by the percent into the current input  file,  based  on
	      line  numbers.  The line used is determined by the X as with the
	      %b option.

       %s     Same as %B.

       %t     Causes any trailing spaces to be removed.	 Usually used  at  the
	      end of the string, but may appear	anywhere.

       %T     Normally	expands	 to the	word "file".  However if viewing files
	      via a tags list using the	-t option,  it	expands	 to  the  word
	      "tag".

       %x     Replaced by the name of the next input file in the list.

       If any item is unknown (for example, the	file size if input is a	pipe),
       a question mark is printed instead.

       The  format  of	the  prompt string can be changed depending on certain
       conditions.  A question mark followed by	a single character  acts  like
       an  "IF": depending on the following character, a condition is evaluat-
       ed.  If the condition is	true, any characters  following	 the  question
       mark  and  condition  character,	 up  to	 a period, are included	in the
       prompt.	If the condition is false, such	characters are	not  included.
       A  colon	appearing between the question mark and	the period can be used
       to establish an "ELSE": any characters between the colon	and the	period
       are included in the string if and only if the IF	 condition  is	false.
       Condition characters (which follow a question mark) may be:

       ?a     True if any characters have been included	in the prompt so far.

       ?bX    True if the byte offset of the specified line is known.

       ?B     True if the size of current input	file is	known.

       ?c     True if the text is horizontally shifted (%c is not zero).

       ?dX    True if the page number of the specified line is known.

       ?e     True if at end-of-file.

       ?f     True  if	there is an input filename (that is, if	input is not a
	      pipe).

       ?lX    True if the line number of the specified line is known.

       ?L     True if the line number of the last line in the file is known.

       ?m     True if there is more than one input file.

       ?n     True if this is the first	prompt in a new	input file.

       ?pX    True if the percent into the current input file, based  on  byte
	      offsets, of the specified	line is	known.

       ?PX    True  if	the percent into the current input file, based on line
	      numbers, of the specified	line is	known.

       ?s     Same as "?B".

       ?x     True if there is a next input file (that is, if the current  in-
	      put file is not the last one).

       Any characters other than the special ones (question mark, colon, peri-
       od,  percent,  and backslash) become literally part of the prompt.  Any
       of the special characters may be	included in the	 prompt	 literally  by
       preceding it with a backslash.

       Some examples:

       ?f%f:Standard input.

       This  prompt prints the filename, if known; otherwise the string	"Stan-
       dard input".

       ?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...

       This prompt would print the filename, if	known.	The filename  is  fol-
       lowed  by  the  line  number, if	known, otherwise the percent if	known,
       otherwise the byte offset if known.  Otherwise, a dash is printed.  No-
       tice how	each question mark has a matching period, and how the %	 after
       the %pt is included literally by	escaping it with a backslash.

       ?n?f%f .?m(%T %i	of %m) ..?e(END) ?x- Next\: %x..%t

       This  prints  the  filename if this is the first	prompt in a file, fol-
       lowed by	the "file N of N" message if there  is	more  than  one	 input
       file.   Then,  if  we are at end-of-file, the string "(END)" is printed
       followed	by the name of the next	file, if there is one.	 Finally,  any
       trailing	spaces are truncated.  This is the default prompt.  For	refer-
       ence,  here  are	 the defaults for the other two	prompts	(-m and	-M re-
       spectively).  Each is broken into two lines here	for readability	only.

       ?n?f%f .?m(%T %i	of %m) ..?e(END) ?x- Next\: %x.:
	    ?pB%pB\%:byte %bB?s/%s...%t

       ?f%f .?n?m(%T %i	of %m) ..?ltlines %lt-%lb?L/%L.	:
	    byte %bB?s/%s. .?e(END) ?x-	Next\: %x.:?pB%pB\%..%t

       And here	is the default message produced	by the = command:

       ?f%f .?m(%T %i of %m) .?ltlines %lt-%lb?L/%L. .
	    byte %bB?s/%s. ?e(END) :?pB%pB\%..%t

       The prompt expansion features are also used for another purpose:	if  an
       environment  variable LESSEDIT is defined, it is	used as	the command to
       be executed when	the v command is invoked.  The LESSEDIT	string is  ex-
       panded  in  the	same way as the	prompt strings.	 The default value for
       LESSEDIT	is:

	    %E ?lm+%lm.	%g

       Note that this expands to the editor name, followed by a	+ and the line
       number, followed	by the shell-escaped file name.	 If your  editor  does
       not  accept the "+linenumber" syntax, or	has other differences in invo-
       cation syntax, the LESSEDIT variable can	be changed to modify this  de-
       fault.

SECURITY
       When  the  environment  variable	LESSSECURE is set to 1,	less runs in a
       "secure"	mode.  In this mode, these features are	disabled:

       edit	 the edit command (v)

       examine	 the examine command (:e)

       glob	 metacharacters	such as	* in filenames,
		 and filename completion (TAB, ^L)

       history	 history file

       lesskey	 use of	lesskey	files (-k and --lesskey-src)

       lessopen	 input preprocessor (LESSOPEN environment variable)

       logfile	 log files (s and -o)

       osc8	 opening OSC 8 links (^O^O)

       pipe	 the pipe command (|)

       shell	 the shell and pshell commands (! and #)

       stop	 stopping less via a SIGSTOP signal

       tags	 use of	tags files (-t)

       The LESSSECURE_ALLOW environment	variable can be	set to	a  comma-sepa-
       rated  list  of	names  of  features which are selectively enabled when
       LESSSECURE is set.  Each	feature	name is	the first word in each line in
       the above list.	A feature name may be abbreviated as long as  the  ab-
       breviation   is	 unambiguous.	 For   example,	 if  LESSSECURE=1  and
       LESSSECURE_ALLOW=hist,edit were set, all	of the above features would be
       disabled	except for history files and the edit command.

       Less can	also be	compiled to be permanently in "secure" mode.  In  that
       case, the LESSSECURE and	LESSSECURE_ALLOW variables are ignored.

COMPATIBILITY WITH MORE
       If the environment variable LESS_IS_MORE	is set to 1, or	if the program
       is  invoked via a file link named "more", less behaves (mostly) in con-
       formance	with the POSIX more(1) command specification.  In  this	 mode,
       less behaves differently	in these ways:

       The -e option works differently.	 If the	-e option is not set, less be-
       haves  as if the	-e option were set.  If	the -e option is set, less be-
       haves as	if the -E option were set.

       The -m option works differently.	 If the	-m  option  is	not  set,  the
       medium  prompt  is used,	and it is prefixed with	the string "--More--".
       If the -m option	is set,	the short prompt is used.

       The -n option acts like the -z option.  The normal behavior of  the  -n
       option is unavailable in	this mode.

       The  parameter  to  the	-p option is taken to be a less	command	rather
       than a search pattern.

       The LESS	environment variable is	 ignored,  and	the  MORE  environment
       variable	is used	in its place.

ENVIRONMENT VARIABLES
       Environment variables may be specified either in	the system environment
       as  usual,  or  in a lesskey(1) file.  If environment variables are de-
       fined in	more than one place, variables defined in a local lesskey file
       take precedence over variables defined in the system environment, which
       take precedence over variables defined in the system-wide lesskey file.

       COLUMNS
	      Sets the number of columns on the	screen.	 Takes precedence over
	      the number of columns specified by the TERM variable.   (But  if
	      you  have	 a  windowing  system  which  supports	TIOCGWINSZ  or
	      WIOCGETD,	the window system's idea  of  the  screen  size	 takes
	      precedence over the LINES	and COLUMNS environment	variables.)

       EDITOR The name of the editor (used for the v command).

       HOME   Name  of	the user's home	directory (used	to find	a lesskey file
	      on Unix and OS/2 systems).

       HOMEDRIVE, HOMEPATH
	      Concatenation of the HOMEDRIVE and  HOMEPATH  environment	 vari-
	      ables is the name	of the user's home directory if	the HOME vari-
	      able is not set (only in the Windows version).

       INIT   Name  of	the user's init	directory (used	to find	a lesskey file
	      on OS/2 systems).

       LANG   Language for determining the character set.

       LC_CTYPE
	      Language for determining the character set.

       LESS   Options which are	passed to less automatically.

       LESSANSIENDCHARS
	      Characters which may end an ANSI color escape sequence  (default
	      "m").

       LESSANSIMIDCHARS
	      Characters  which	 may  appear between the ESC character and the
	      end  character  in  an  ANSI  color  escape  sequence   (default
	      "0123456789:;[?!"'#%()*+ ".

       LESSBINFMT
	      Format for displaying non-printable, non-control characters.

       LESSCHARDEF
	      Defines a	character set.

       LESSCHARSET
	      Selects a	predefined character set.

       LESSCLOSE
	      Command line to invoke the (optional) input-postprocessor.

       LESSECHO
	      Name of the lessecho program (default "lessecho").  The lessecho
	      program  is needed to expand metacharacters, such	as * and ?, in
	      filenames	on Unix	systems.

       LESSEDIT
	      Editor prototype string (used for	the v command).	  See  discus-
	      sion under PROMPTS.

       LESSGLOBALTAGS
	      Name  of	the command used by the	-t option to find global tags.
	      Normally should be set to	"global" if your system	has the	 glob-
	      al(1) command.  If not set, global tags are not used.

       LESSHISTFILE
	      Name  of	the  history file used to remember search commands and
	      shell commands between invocations of less.  If set  to  "-"  or
	      "/dev/null", a history file is not used.	The default depends on
	      the operating system, but	is usually:

	      Linux and	Unix
		     "$XDG_STATE_HOME/lesshst" or "$HOME/.local/state/lesshst"
		     or	"$XDG_DATA_HOME/lesshst" or "$HOME/.lesshst".

	      Windows and MS-DOS
		     "$HOME/_lesshst".

	      OS/2   "$HOME/lesshst.ini" or "$INIT/lesshst.ini".

       LESSHISTSIZE
	      The maximum number of commands to	save in	the history file.  The
	      default is 100.

       LESSKEYIN
	      Name of the default lesskey source file.

       LESSKEY
	      Name   of	  the  default	lesskey	 binary	 file.	(Not  used  if
	      "$LESSKEYIN" exists.)

       LESSKEY_CONTENT
	      The value	is parsed as if	it were	the parameter of a  --lesskey-
	      content option.

       LESSKEYIN_SYSTEM
	      Name of the default system-wide lesskey source file.

       LESSKEY_SYSTEM
	      Name  of	the default system-wide	lesskey	binary file. (Not used
	      if "$LESSKEYIN_SYSTEM" exists.)

       LESSMETACHARS
	      List of characters which are considered "metacharacters" by  the
	      shell.

       LESSMETAESCAPE
	      Prefix  which  less will add before each metacharacter in	a com-
	      mand sent	to the shell.  If LESSMETAESCAPE is an	empty  string,
	      commands	containing  metacharacters  will  not be passed	to the
	      shell.

       LESSOPEN
	      Command line to invoke the (optional) input-preprocessor.

       LESSSECURE
	      Runs less	in "secure" mode.  See discussion under	SECURITY.

       LESSSECURE_ALLOW
	      Enables individual  features  which  are	normally  disabled  by
	      LESSSECURE.  See discussion under	SECURITY.

       LESSSEPARATOR
	      String  to  be  appended to a directory name in filename comple-
	      tion.

       LESSUTFBINFMT
	      Format for displaying non-printable Unicode code points.

       LESSUTFCHARDEF
	      Overrides	the type of specified Unicode characters.

       LESS_COLUMNS
	      Sets the number of columns on the	screen.	 Unlike	COLUMNS, takes
	      precedence over the system's idea	of the screen size, so it  can
	      be  used	to  make less use less than the	full screen width.  If
	      set to a negative	number,	sets the number	 of  columns  used  to
	      this much	less than the actual screen width.

       LESS_LINES
	      Sets  the	 number	 of  lines on the screen.  Unlike LINES, takes
	      precedence over the system's idea	of the screen size, so it  can
	      be  used	to make	less use less than the full screen height.  If
	      set to a negative	number,	sets the number	of lines used to  this
	      much  less  than	the  actual screen height.  When set, less re-
	      paints the entire	screen on every	movement command, so scrolling
	      may be slower.

       LESS_DATA_DELAY
	      Duration (in milliseconds) after starting	to read	data from  the
	      input,  after  which the "Waiting	for data" message will be dis-
	      played.  The default is 4000 (4 seconds).

       LESS_IS_MORE
	      Emulate the more(1) command.

       LESS_OSC8_xxx
	      Where "xxx" is a URI scheme such as "http" or  "file",  sets  an
	      OSC 8 handler for	opening	OSC 8 links containing a URI with that
	      scheme.

       LESS_OSC8_ANY
	      Sets an OSC 8 handler for	opening	OSC 8 links for	which there is
	      no specific LESS_OSC8_xxx	handler	set for	the "xxx" scheme.

       LESS_TERMCAP_xx
	      Where  "xx"  is  any two characters, overrides the definition of
	      the termcap "xx" capability for the terminal.

       LESS_UNSUPPORT
	      A	space-separated	list of	command	line options.	These  options
	      will  be	ignored	 (with no error	message) if they appear	on the
	      command line or in the LESS environment variable.	 Options list-
	      ed in LESS_UNSUPPORT can still be	changed	by the - and  --  com-
	      mands.   Each  option  in	LESS_UNSUPPORT is a dash followed by a
	      single character option letter, or two dashes followed by	a long
	      option name.

       LINES  Sets the number of lines on the screen.  Takes  precedence  over
	      the number of lines specified by the TERM	variable.  (But	if you
	      have  a  windowing system	which supports TIOCGWINSZ or WIOCGETD,
	      the window system's idea of the  screen  size  takes  precedence
	      over the LINES and COLUMNS environment variables.)

       MORE   Options  which  are passed to less automatically when running in
	      more-compatible mode.

       PATH   User's search path (used to find a lesskey file on MS-DOS,  Win-
	      dows, and	OS/2 systems).

       SHELL  The  shell  used	to execute the ! command, as well as to	expand
	      filenames.

       TERM   The type of terminal on which less is being run.

       VISUAL The name of the editor (used for the v command).

       XDG_CONFIG_HOME
	      Possible location	of the lesskey file; see the KEY BINDINGS sec-
	      tion.

       XDG_DATA_HOME
	      Possible location	of the history file; see  the  description  of
	      the LESSHISTFILE environment variable.

       XDG_STATE_HOME
	      Possible	location  of  the history file;	see the	description of
	      the LESSHISTFILE environment variable.

SEE ALSO
       lesskey(1), lessecho(1)

COPYRIGHT
       Copyright (C) 1984-2024	Mark Nudelman

       less is part of the GNU project and is free software.  You  can	redis-
       tribute	it and/or modify it under the terms of either (1) the GNU Gen-
       eral Public License as published	by the Free  Software  Foundation;  or
       (2) the Less License.  See the file README in the less distribution for
       more details regarding redistribution.  You should have received	a copy
       of  the	GNU General Public License along with the source for less; see
       the file	COPYING.  If not, write	to the Free  Software  Foundation,  59
       Temple  Place, Suite 330, Boston, MA  02111-1307, USA.  You should also
       have received a copy of the Less	License; see the file LICENSE.

       less is distributed in the hope that it will be useful, but WITHOUT ANY
       WARRANTY; without even the implied warranty of MERCHANTABILITY or  FIT-
       NESS  FOR A PARTICULAR PURPOSE.	See the	GNU General Public License for
       more details.

AUTHOR
       Mark Nudelman
       Report bugs at https://github.com/gwsw/less/issues.
       For more	information, see the less homepage at
       https://greenwoodsoftware.com/less.

			   Version 668:	06 Oct 2024		       LESS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=less&sektion=1&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help