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

FreeBSD Manual Pages

  
 
  

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

NAME
       less - opposite of more

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 which allows  backward	 move-
       ment in the file	as well	as forward movement.  Also, 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.

       ?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.

       = 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 six 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.  On Unix systems, the
	      shell is taken from the environment variable SHELL, or  defaults
	      to  "sh".	  On  MS-DOS 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.

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

       ^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,  you	don't need the quotes, but you should replace any per-
       cent signs in the options string	by double percent signs.

       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="Dn9.1$Ds4.1"

       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.

	      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.

	      W	     The highlight enabled via the -w option.

	      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 "d" and "u" let-
	      ters refer to bold and underline	text  formed  by  overstriking
	      with  backspaces (see the	-U option), not	to text	using ANSI es-
	      cape sequences with the -R option.

	      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 zero, one	or two characters,  where  the
	      first  character	specifies  the foreground color	and the	second
	      specifies	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.  On MS-DOS versions of less, 8-bit color
	      is not supported;	instead, decimal  values  are  interpreted  as
	      4-bit CHAR_INFO.Attributes values	(see
	      https://docs.microsoft.com/en-us/windows/console/char-info-str).

	      On  MS-DOS  only,	 the  -Da option may be	used to	specify	strict
	      parsing of ANSI color (SGR) sequences  when  the	-R  option  is
	      used.  Without this option, sequences that change	text attribut-
	      es (bold,	underline, etc.) may clear the text color.

       -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
	      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.

       --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.

       -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=N[,M]
	      Sets the number of header	lines and  columns  displayed  on  the
	      screen.	The  value  may	be of the form "N,M" where N and M are
	      integers,	to set the header lines	to N and the header columns to
	      M, or it may be a	single integer "N" which sets the header lines
	      to N and the header columns to zero, or it  may  be  ",M"	 which
	      sets the header columns to M and the header lines	to zero.  When
	      N	is nonzero, the	first N	lines at the top of the	screen are re-
	      placed  with  the	 first N lines of the file, regardless of what
	      part of the file are being viewed.  When M is nonzero, the char-
	      acters displayed at the beginning	of each	line are replaced with
	      the first	M characters of	the line, even if the rest of the line
	      is scrolled horizontally.	 If either N or	M is zero, less	 stops
	      displaying header	lines or columns, respectively.	 (Note that it
	      may  be  necessary to change the setting of the -j option	to en-
	      sure that	 the  target  line  is	not  obscured  by  the	header
	      line(s).)

       --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.

       --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, and clicking	the mouse sets the  "#"	 mark  to  the
	      line  where the mouse is clicked.	 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 re-
	      porting, 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-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 EC-
	      MA-48 SGR; see
	      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 systems, a	"\" is
	      appended.)  The environment variable LESSSEPARATOR 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)
	      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
	      1251).

       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	latin1.

       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.

       %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.  This means these	features are disabled:

	      !	     the shell command

	      #	     the pshell	command

	      |	     the pipe command

	      :e     the examine command.

	      v	     the editing command

	      s	 -o  log files

	      -k     use of lesskey files

	      -t     use of tags files

		     metacharacters in filenames, such as *

		     filename completion (TAB, ^L)

		     history file

       Less can	also be	compiled to be permanently in "secure" mode.

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.)

       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.

       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_TERMCAP_xx
	      Where "xx" is any	two characters,	overrides  the	definition  of
	      the termcap "xx" capability for the terminal.

       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 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-2023	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 643:	20 Jul 2023		       LESS(1)

NAME | SYNOPSIS | DESCRIPTION | COMMANDS | OPTIONS | LINE EDITING | KEY BINDINGS | INPUT PREPROCESSOR | NATIONAL CHARACTER SETS | PROMPTS | SECURITY | COMPATIBILITY WITH MORE | ENVIRONMENT VARIABLES | SEE ALSO | COPYRIGHT | AUTHOR

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

home | help