Lessis a program similar tomore(1), but it has many more features.Lessdoes not have to read the entire input file before starting,so with large input files it starts up faster than text editors likevi(1). Lessuses 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 topof the screen are prefixed with a caret.)
Commands
Commands are based on bothmoreandvi. Commands may be preceded by a decimal number,called N in the descriptions below.The number is used by some commands, as indicated.
In the following descriptions, ^X means control-X.ESC stands for the ESCAPE key; for example ESC-v means thetwo character sequence "ESCAPE", 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-zbelow).If N is more than the screen size, only the final screenful 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.
ENTER or RETURN or ^N or e or ^E or j or ^J
Scroll forward N lines, default 1.The entire N lines are displayed, 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 forsubsequent d and u commands.
b or ^B or ESC-v
Scroll backward N lines, default one window (see option-zbelow).If N is more than the screen size, only the final screenful 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 displayed, 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 forsubsequent 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-SPACE
Like SPACE, but scrolls a full screenful,even if it reaches the end of the file.
ESC-b
Like b, but scrolls a full screenful,even if it reaches the beginning of the file.
ESC-j
Scroll forward N file lines, default 1.A file line is a complete line in the file, terminated by a newline.
ESC-k
Scroll backwards N file lines, default 1.
ESC-) or RIGHTARROW
Scroll horizontally right N characters, default half the screen width(see the-#option).If a number N is specified, it becomes the default for future RIGHTARROWand LEFTARROW commands.While the text is scrolled, it acts as though the-Soption(chop lines) were in effect.
ESC-] or ESC-RIGHTARROW
Scroll horizontally right N characters like RIGHTARROW,but stop scrolling when the last (rightmost) character on thedisplayed screen becomes visible at the right margin.
ESC-( or LEFTARROW
Scroll horizontally left N characters, default half the screen width(see the-#option).If a number N is specified, it becomes the default for future RIGHTARROWand LEFTARROW commands.
ESC-} or ^RIGHTARROW or SHIFT-RIGHTARROW
Scroll horizontally right to show the end of the longest displayed line.
ESC-{ or ^LEFTARROW or SHIFT-LEFTARROW
Scroll horizontally left back to the first column.
^END or SHIFT-END
Go to line N in the file, default the end of the file, andscroll horizontally right to show the end of the longest displayed line.
^HOME or SHIFT-HOME
Go to line N in the file, default 1 (beginning of file),and 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, reload the current file.Useful if the file is changing while it is being viewed.
F
Scroll forward, and keep trying to read when theend 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 growingwhile 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 supportpoll(2)you can also use ^X or the character specified by the--introption.If the input is a pipe and the--exit-follow-on-closeoption is in effect,lesswill automatically stop waiting for data when the input side of the pipe is closed.
ESC-f
Like F, but each time a line is found which matchesthe last search pattern, the terminal bell is rung.
ESC-F
Like F, but as soon as a line is found which matchesthe last search pattern, the terminal bell is rungand forward scrolling stops.
g or < or ESC-< or HOME
Go to line N in the file, default 1 (beginning of file).(Warning: this may be slow if N is large.)
G or > or ESC-> or END
Go to line N in the file, default the end of the file.(Warning: this may be slow if N is large,or if N is not specified andstandard 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 displayedon the screen,the { command will go to the matching right curly bracket.The matching right curly bracket is positioned on the bottomline 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 displayedon the screen,the } command will go to the matching left curly bracket.The matching left curly bracket is positioned on the topline 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 brackets.
]
Like }, but applies to square brackets rather than curly brackets.
ESC-^F
Followed by two characters,acts like {, but uses the two characters as open and close brackets,respectively.For example, "ESC ^F < >" could be used togo forward to the > which matches the < in the top displayed line.
ESC-^B
Followed by two characters,acts like }, but uses the two characters as open and close brackets,respectively.For example, "ESC ^B < >" could be used togo 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 a number N is given, line number N is marked instead.If the status column is enabled via the-Joption,the status column shows the marked line.
M
Acts like m, except the last displayed line is markedrather than the first displayed line.If a number N is given, line number N is marked instead.
'
(Single quote.)Followed by any lowercase or uppercase letter, returns to the position whichwas previously marked with that letter.Followed by another single quote, returns to the position atwhich the last "large" movement command was executed.Followed by a ^ or $, jumps to the beginning or end of thefile respectively.If a number N is given, the marked line is placed on the N-th line on the screen.Otherwise, it is placed on the same line that it was on when it was marked(the first line on the screen if marked via themcommand, the last line on the screen if marked via theMcommand, or the line that was clicked if marked via the mouse).Marks are preserved when a new file is examined within a single invocation ofless, so the ' command can be used to switch between input files.The--save-marksoption causes marks to be preserved across different invocations ofless.
^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 pattern.N defaults to 1.The pattern is a regular expression, as recognized bythe regular expression library supplied by your system.By default, searching is case-sensitive (uppercase and lowercase are considered different); the-ioption can be used to change this.The search starts at the first line displayed(but see the-aand-joptions, which change this).
Certain characters are specialif 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 filewithout 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 filein the command line list,regardless of what is currently displayed on the screenor the settings of the-aor-joptions.
^K
Highlight any text which matches the pattern on the current screen,but don't move to the first match (KEEP current 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-PATTERN will be considered to match the pattern.For example, searching for "(abc)|(def)" modified with ^S1would search for instances of "abc", but would highlight instances of both "abc" and "def".(Supported only iflessis built with one of the regular expression librariesposix, 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 filewithout finding a match, the search continues from the first line of thecurrent file up to the line where it started.If the ^W modifier is set, the ^E modifier is ignored.
^L
The next character is taken literally; that is, it becomes part of the patterneven if it is one of the above search modifier characters.
?pattern
Search backward in the file for the N-th line containing the pattern.The search starts at the last line displayed(but see the-aand-joptions, 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 filewithout 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 filein the command line list,regardless of what is currently displayed on the screenor the settings of the-aor-joptions.
^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 filewithout finding a match, the search continues from the last line of thecurrent file up to the line where it started.
^L
As in forward searches.
ESC-/pattern
Same as "/*".
ESC-?pattern
Same as "?*".
n
Repeat previous search, for N-th line containing the last pattern.If the previous search was modified by ^N, the search is made for theN-th line NOT containing the pattern.If the previous search was modified by ^E, the search continuesin the next (or previous) file if not satisfied in the current file.If the previous search was modified by ^R, the search is donewithout using regular expressions.If the previous search was modified by ^W, the search wraps atthe end (or beginning) of the file.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 effect is as if the previous search were modified by *.
ESC-N
Repeat previous search, but in the reverse directionand crossing 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.Also unselects any OSC 8 hyperlink that is currently selected.(Highlighting can also be disabled by toggling the-Goption;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-Joption,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 hidden.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 thebeginning of the prompt,as a reminder that some lines in the file may be hidden.Multiple & commands may be entered, in which case only lineswhich 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 commandsbelow) from the list of files in the command line is re-examined.A percent sign (%) in the filename is replaced by theshell-escaped name of the current file.A pound sign (#) is replaced by the shell-escaped name of the previously examined file.However, two consecutive percent signs are simplyreplaced with a single percent sign.This allows you to enter a filename that contains a percent signin the name.Similarly, two consecutive pound signs are replaced with a single pound sign.The filename is inserted into the command line list of filesso that it can be seen by subsequent :n and :p commands.If the filename consists of several files, they are all inserted intothe 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).Any shell metacharacters in the filename, such as "*" and "?", areexpanded by the shell named in the SHELL environment variable.(Note that some shells may execute external programs ifcertain metacharacters are used, such as backticks or dollar signs.)
^X^V or E
Same as :e.Warning: some systems use ^V as a special literalization 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 command 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-toption for more details about tags.
T
Go to the previous tag, if there were more than one matches for the current tag.
^O^N or ^On
Search forward in the file for the N-th next OSC 8 hyperlink.
^O^P or ^Op
Search backward in the file for the N-th previous OSC 8 hyperlink.
^O^L or ^Ol
Jump to the currently selected OSC 8 hyperlink.
= or ^G or :f
Prints some information about the file being viewed,including its nameand 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 fileand 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 optionand print a message describing the new setting.If a ^P (CONTROL-P) is entered 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-bor-h), or a string value (such as-Por-t), a new value may be entered after the option letter.If no new value is entered, a message describingthe current setting is printed and nothing is changed.
--
Like the - command, but takes a long option name(see “OPTIONS” below),rather than a single option letter.Press ENTER or RETURN after typing the option name to change it.You can enter just the beginning of an option name, then press TAB to find all option names which begin with that string.A ^P immediately after the second dash suppresses printing of amessage describing the new setting, as in the - command.
-+
Followed by one of the command line option lettersthis will reset the option to its default settingand print a message describing the new setting.(The "-+X" command does the same thingas "-+X" on the command line.)This does not work for string-valued options.
--+
Like the -+ command, but takes a long option namerather 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 settingand 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 namerather than a single option letter.
_
(Underscore.)Followed by one of the command line option letters,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 namerather 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 causeslessto initially display each file starting at the endrather than the beginning.
V
Prints the version number oflessbeing run.
q or Q or :q or :Q or ZZ
Exitsless.
The followingsevencommands 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 neither 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 thecurrent file.Two consecutive percent signs (%%) are replaced with a single percent sign.A pound sign (#) is replaced by the name of the previously examined file.Two consecutive pound signs (##) are replaced with a single pound sign."!!" repeats the last shell command."!" with no shell command invokes an interactive shell.If a ^P (CONTROL-P) is entered immediately after the !,no "done" message is printed after the shell command is executed.On Unix systems, the shell is taken from the environment variable SHELL,or defaults to "sh".On MS-DOS, Windows, and OS/2 systems, the shell is the normal command processor.
# shell-command
Similar to the "!" command, except that the command is expanded in the same way as prompt strings.For example, the name of the current file would be given as "%f".
| <m> shell-command
<m> represents any mark character.Pipes a section of the input file to the given shell command.If the marked line is before the top line of the current screen,the section to be piped is between the marked line and the bottom lineof the current screen, inclusive.Otherwise (if the marked line is the top line of the current screenor after it) the section of the file to be piped is between the top lineof the current screen and the marked line, inclusive.<m> may also be "^" or "$" to indicate beginning or end of file respectively.If <m> is "." or newline, the currently displayed screen is piped.You can type ^N in place of <m> in order to entera line number instead of a mark letter.If a ^P (CONTROL-P) is entered at the start of the shell command,no "done" message is printed after the shell command is executed.
|| <m1> <m2> shell-command
Like "|", pipes a section of the input file to the given shell command.The section of the file to be piped is between the two lines markedwith <m1> and <m2>, inclusive.The line marked by <m1> may be either before or after the line marked by <m2> in the file.Either mark may be "^" or "$" to indicate beginning or end of file respectively.":" or newline indicates the first line displayed on the screen,and ";" indicates the last line displayed on the screen.You can type ^N in place of either <m1> or <m2> in order to entera line number instead of a mark letter.
s filename
Save the input to a file.This works only if the input is a pipe, not an ordinary file.
^O^O
Run a shell command to open the URI in the current OSC 8 hyperlink,selected by a previous ^O^N or ^O^P command.The shell command is given by the environment variablenamed "LESS_OSC8_OPEN_xxx"where "xxx" is the scheme from the URI (the part before the first colon),converted to lowercase.If there is no colon in the URI, the environment variableLESS_OSC8_OPEN_NONE is used.The URI from the hyperlink is then shell-escaped and appended to thevalue of the environment variable after a space,and the resulting string is executed as a shell command.
For example, if you wish to open https links by invoking a programcalled "mybrowser" with a "--new-window" option, you could set
LESS_OSC8_OPEN_https="mybrowser --new-window"
If the handler command begins with "-",the command is not displayed before it is executed.If the handler command begins with ^P (CONTROL-P),the "link done" message is not displayed after it is executed.If the handler command begins with ^P followed by "-",neither the command nor the "link done" message is displayed.
If you attempt to open a link with the "xxx" scheme and theLESS_OSC8_OPEN_xxx variable is not set,the variable LESS_OSC8_OPEN_ANY is tried.If neither LESS_OSC8_OPEN_xxx nor LESS_OSC8_OPEN_ANY is set,links using the "xxx" scheme cannot be opened.However, there is a default value for LESS_OSC8_OPEN_ANYwhich invokes the programless-osc8-open(1). This program will open links with theschemes "man" (by runningman(1)) or "file" (by running another instance ofless(1)if the file is local).less-osc8-openshould work on systems which provide a POSIX-compatible shell.
Any shell metacharacters such as semicolons, dollar signs, ampersands, etc.in the URI will be shell-escaped before the URI is appended to the handler command.If the handler passes the URI or any substring of it to a shell,it should take care to appropriately quote such strings,to prevent execution of unintended shell commands when openinga URI which contains shell metacharacters.
As a special case, if the URI begins with "#",the remainder of the URI is taken to bethe value of the id parameter in another OSC 8 link in the same file,and ^O^O will simply jump to that link rather than runninga handler program.
^X
When the "Waiting for data" message is displayed,such as while in the F command, pressing ^Xwill stoplessfrom waiting and return to a prompt.This may causelessto 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--introption can be used to specify a different characterto use instead of ^X.This command works only on systems that support thepoll(2)function.On systems withoutpoll(2), the interrupt character (usually ^C) can be used instead.
Options
Command line options are described below.Most options may be changed whilelessis 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 asthe abbreviation is unambiguous.For example,--mousemay be abbreviated--mou, but not--mo, since both--mouseand--modelinesbegin with--mo.
Some long option names are in uppercase, such as--QUIT-AT-EOF, asdistinct from--quit-at-eof. Such option names need only have their first letter capitalized;the remainder of the name may be in either case.For example,--Quit-at-eofis equivalent to--QUIT-AT-EOF.
Options are also taken from the environment variable "LESS".For example,to avoid typing "less -options ..." each timelessis invoked, you might tellcsh:
setenv LESS "-options"
or if you usesh:
LESS="-options"; export LESS
On MS-DOS and Windows, you don't need the quotes, but you should be careful that any percent signs in the options string are notinterpreted as an environment variable expansion.
The environment variable is parsed before the command line,so command line options override the LESS environment variable.If an option appears in the LESS variable, it can be resetto its default value on the command line by beginning the commandline option with "-+".
Some options like-kor-Drequire a string to follow the option letter.The string for that option is considered to end when a dollar sign ($) is found.For example, you can set two-Doptions like this:
LESS="Dnwb$Dsbw"
If the--use-backslashoption appears earlier in the options, thena dollar sign or backslash may be included literally in an option stringby preceding it with a backslash.If the--use-backslashoption is not in effect, then backslashes arenot treated specially, and there is no way to include a dollar signin the option string.
-? or --help
This option displays a summary of the commands accepted byless(the same as the h command).(Depending on how your shell interprets 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 screenand backwards searches start at the bottom of the displayed screen(except for repeated searches invoked by the n or N commands,which start after or before the "target" line respectively;see the-joption for more about the target line).The-aoption causes forward searches to instead start atthe bottom of the screenand backward searches to start at the top of the screen,thus skipping all lines displayed on the screen.
-A or --SEARCH-SKIP-SCREEN
auses all forward searches (not just non-repeated searches)to start just after the target line, and all backward searchesto 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 screenfrom 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 spacelesswill 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-Boption).The-boption specifies instead that n kilobytes ofbuffer 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 causea large amount of memory to be allocated.The-Boption disables this automatic allocation of buffers for pipes,so that only 64 KB(or the amount of space specified by the-boption)is used for the pipe.Warning: use of-Bcan result in erroneous display, since only themost recently viewed part of the piped data is kept in memory;any earlier 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 ofless.
-d or --dumb
The-doption suppresses the error messagenormally displayed if the terminal is dumb;that is, lacks some important capability,such as the ability to clear the screen or scroll backward.The-doption does not otherwise change the behavior oflesson 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--headeroption.
J
Target line when highlighted via --hilite-target.
M
Mark letters in the status column.
N
Line numbers enabled via the-Noption.
O
OSC 8 hyperlinks.
P
Prompts.
R
The rscroll character.
S
Search results.
T
The tilde lines displayed after the end of the file orbefore the beginning of the file.
W
The highlight enabled via the-woption.
1-5
The text in a search result which matchesthe first through fifth parenthesized sub-pattern.Sub-pattern coloring works only iflessis built with one of the regular expression librariesposix, pcre, or pcre2.
d
Bold text.
k
Blinking text.
s
Standout text.
u
Underlined text.
The uppercase letters and digits can be used only when the--use-coloroption 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 normally displayed as standout text.So if both "s" and "E" are given a color, the "E" color appliesto error messages, and the "s" color applies to other standout text.The lowercase letters refer to bold and underline text formed by overstriking with backspaces (see the-Uoption) and to non-contenttext (such as line numbers and prompts), but not to text formatted using ANSI escape sequences with the-Roption(but see the note below for different behavior on Windows and MS-DOS).
A lowercase letter may be followed by a + to indicate thatthe normal format change and the specified color should both be used.For example,-Dugdisplays underlined text as green without underlining;the green color has replaced the usual underline formatting.But-Du+gdisplays underlined text as both green and in underlined format.
color is either a 4-bit color string or an 8-bit color string:
A 4-bit color string is one or two characters, where the first character specifies the foreground color and the second 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,-DNGkdisplays line numbers as bright green text on a black background, and-DEbRdisplays error messages as blue text on a bright red background.If either character 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 selectsa "CSI 38;5" color value(anSGR escape sequence ⟨https://\:en\:.wikipedia\:.org/\:wiki/\:ANSI_escape_code\:#SGR⟩). If either integer is a "-" or is omitted,the corresponding color is set to that of normal text.
A 4-bit or 8-bit color string may be followed by one or more of thefollowing characters to set text attributes in addition to the color.
s or ~
Standout (reverse video)
u or _
Underline
d or *
Bold
l or &
Blinking
On MS-DOS and Windows, the--coloroption behavesdifferently from what is described above in these ways:
•
The bold (d and *) and blinking (l and &) text attributesat the end of a color string are not supported.
•
Lowercase color selector letters refer to text formatted by ANSIescape sequences with-R, in addition to overstruck and non-content text (but see-Da).
•
For historical reasons, when a lowercase color selector letter is followed by a numeric color value,the number is not interpreted as an "CSI 38;5" color value as described above,but instead as a 4-bit CHAR_INFO.Attributes ⟨https://\:learn\:.microsoft\:.com/\:en\-us/\:windows/\:console/\:char\-info\-str⟩ value, between 0 and 15 inclusive.
To avoid confusion, it is recommended that the equivalent letters rather than numbersbe used after a lowercase color selector on MS-DOS/Windows.
•
Numeric color values ("CSI 38;5" color) following an uppercase color selector letter are not supported on systems earlier than Windows 10.
•
Only a limited set of ANSI escape sequences to set color in the content work correctly.4-bit color sequences work, but "CSI 38;5" color sequences do not.
•
The-Daoption makes the behavior of--colormore similar to its behavior on non-MS-DOS/Windows systems by (1)making lowercase color selector letters not affect text formattedwith ANSI escape sequences, and (2)allowing "CSI 38;5" color sequences in the contentwork by passing them to the terminal (only on Windows 10 and later; onearlier Windows systems, such sequences do not work regardless of the setting of-Da).
-e or --quit-at-eof
Causeslessto automatically exitthe second time it reaches end-of-file.By default, the only way to exitlessis via the "q" command.
-E or --QUIT-AT-EOF
Causeslessto 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 warning message when a binary file is opened.By default,lesswill refuse to open non-regular files.Note that some operating systems will not allow directoriesto be read, even if-fis set.
-F or --quit-if-one-screen
Causeslessto automatically exitif the entire file can be displayed on the first screen.Also see the description of the LESS_SHELL_LINES environment variable below.
-g or --hilite-search
Normally,lesswill highlight ALL strings which match the last search command.The-goption changes this behavior to highlight only the particular stringwhich was found by the last search command.This can causelessto 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 scrollbackward,-h0is implied.)
-i or --ignore-case
Causes searches to ignore case; that is,uppercase and lowercase are considered identical.This option is ignored if any uppercase lettersappear 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 ifthe pattern contains uppercase letters.
-jn or --jump-target=n
Specifies a line on the screen where the "target" lineis to be positioned.The target line is the line specified by any command tosearch for a pattern, jump to a line number,jump to a file percentage or jump to a tag.The screen line may be specified by a number: the top line on the screenis 1, the next is 2, and so on.The number may be negative to specify a line relative to the bottomof the screen: the bottom line on the screen is -1, the secondto the bottom is -2, and so on.Alternately, the screen line may be specified as a fraction of the heightof the screen, starting with a decimal point: .5 is in the middle of thescreen, .3 is three tenths down from the first line, and so on.If the line is specified as a fraction, the actual line numberis recalculated if the terminal window is resized.If the--headeroption is used and the target line specified by-jwould be obscured by the header, the target line is moved to the firstline after the header.
If any form of the-joption 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-aor-A. For example, if "-j4" is used, the target line is thefourth line on the screen, so forward searches begin at the fifth lineon the screen.However nonrepeated searches (invoked with "/" or "?")always begin at the first or last line on the 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-Soption, and the text that is chopped off beyond the right edge of the screencontains a match for the current search.
<
The line is horizontally shifted, andthe text that is shifted beyond the left side of the screencontains 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 linebut none to the right or left of it.
a-z, A-Z
The line has been marked with the corresponding letter via the m or M command.
#
The line has been marked by left-clicking it with the mousewhen the--mouseoption is in effect.
-kfilename or --lesskey-file=filename
Causeslessto open and interpret the named file as alesskey(5)binary file.Multiple-koptions may be specified.If the LESSKEY or LESSKEY_SYSTEM environment variable is set, orif a lesskey file is found in a standard place (see KEY BINDINGS),it is also used as alesskeyfile.Note the warning under--lesskey-contentbelow.
--lesskey-src=filename
Causeslessto open and interpret the named file as a lesskey(5)source file. If the LESSKEYIN or LESSKEYIN_SYSTEM environment variable is set, orif a lesskey source file is found in a standard place (see KEY BINDINGS),it is also used as a lesskey source file.Prior to version 582, thelesskeyprogram needed to be run to convert a lesskey sourcefile to a lesskey binaryfile forlessto use.Newer versions oflessread the lesskey sourcefile directly and ignore the binary file if the source file exists.Note the warning under--lesskey-contentbelow.
--lesskey-content=text
Causeslessto interpret the specified text as the contents of alesskey(5)source file.In the text,lesskeylines may be separated by either newlines as usual, or by semicolons.A literal semicolon may be represented by a backslash followed by a semicolon.
Warning: certain environment variables such as LESS, LESSSECURE, LESSCHARSET and others,which are used early in startup, cannot be set in a file specified by a command line option (--lesskey, --lesskey-srcor--lesskey-content). When using alesskeyfile to set environment variables, it is safer to use thedefault lesskey file, or to specify the file using theLESSKEYIN or LESSKEY_CONTENT environment variables rather than using a command line option.
-K or --quit-on-intr
Causeslessto exit immediately (with status 2)when an interrupt character (usually ^C) is typed.Normally, an interrupt character causeslessto stop whatever it is doing and return to its command prompt.
-L or --no-lessopen
Ignore the LESSOPEN environment variable(see the INPUT PREPROCESSOR section below).This option can be set from withinless, but it will apply only to files opened subsequently, not to thefile which is currently open.
-m or --long-prompt
Causeslessto prompt verbosely (like more(1)), with the percent into the file.By default,lessprompts with a colon.
-M or --LONG-PROMPT
Causeslessto prompt even more verbosely thanmore(1).
-n or --line-numbers
Suppresses line numbers.The default (to use line numbers) may causelessto run more slowly in some cases, especially with a very large input file.Using line numbers means: the line number will be displayed in the verboseprompt 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 below).
-N or --LINE-NUMBERS
Causes a line number to be displayed at the beginning ofeach line in the display.
-ofilename or --log-file=filename
Causeslessto 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,lesswill ask for confirmation before overwriting it.
-Ofilename or --LOG-FILE=filename
The-Ooption is like-o,but it will overwrite an existingfile without asking for confirmation.
If no log file has been specified,the-oand-Ooptions can be used from withinlessto 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-ofrom withinless.
-ppattern or --pattern=pattern
The -p option on the command line is equivalent tospecifying +/pattern;that is, it tellslessto start at the first occurrence of pattern in the file.
-Pprompt or --prompt=prompt
Provides a way to tailor the three promptstyles to your own preference.This option would normally be put in the LESS environmentvariable, rather than being typed in with eachlesscommand.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) promptto 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 ofletters 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 rungif an attempt is made to scroll past the end of the fileor 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 caseswhere 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 example, a control-A (octal 001) is displayed as "^A"(with some exceptions as described under the-Uoption).Warning: when the-roption is used,lesscannot keep track of the actual appearance of the screen(since this depends on how the screen responds toeach type of control character).Thus, various display problems may result,such as long lines being split in the wrong place.
USE OF THE-rOPTION IS DANGEROUS AND IS NOT RECOMMENDED. The-roption can be set on the command line or via the - command, but to avoid unintentional use, it cannot be set in a LESS environment variable.If-rappears in a LESS environment variable, it is treated as if it were-R.
-R or --RAW-CONTROL-CHARS
Like-r, but only a limited set of escape sequences are output in "raw" form.Unlike-r, the screen appearance is maintained correctly.The sequences which are output raw are:
1. ANSI SGR ("color") sequences
2. OSC 8 hyperlinks
3. Other OSC sequences, if the OSC type number is listed inthe LESSANSIOSCALLOW environment variable
4. OSC sequences starting with a non-standard introductory character(that is, something other than "]"), if the character is listed inthe LESSANSIOSCCHARS environment variable followed by an asterisk
ANSI color escape sequences are sequences of the form:
ESC [ ... m
where the "..." is zero or more color specification characters.Color escape sequences are only supported when the coloris changed within one line, not across lines. In other words, the beginning of each line is assumed to benormal (non-colored), regardless of any escape sequences in previous lines.
You can makelessthink that characters other than "m" can end ANSI color escape sequencesby setting the environment variable LESSANSIENDCHARS to the list ofcharacters which can end a color escape sequence.And you can makelessthink that characters other than the standard ones may appear betweenthe ESC and the m by setting the environment variable LESSANSIMIDCHARSto the list of characters which can appear.
OSC sequences are of the form:
ESC ] N ; ... \7
where the OSC type number N is a decimal integer.The terminating sequence may be either a BEL character (\7)as above, or the two-character sequence "ESC \".
-s or --squeeze-blank-lines
Causes consecutive blank lines to be squeezed into a single blank line.This is useful when viewingnroff(1)output.
-S or --chop-long-lines
Causes lines longer than the screen width to bechopped (truncated) rather than wrapped.That is, the portion of a long line that does not fit inthe screen width is not displayed until you press RIGHT-ARROW.The default is to wrap long lines; that is, display the remainderon the next line.See also the--wordwrapoption.While the--headeroption is active, the-Soption is ignored,and lines longer than the screen width are truncated.
-ttag or --tag=tag
The-toption, 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 directory called "tags",which was previously built byctags(1)or an equivalent command.If the environment variable LESSGLOBALTAGS is set, it is taken to bethe name of a command compatible withglobal(1), and that command is executed to find the tag.(See theGNU global home page ⟨http://\:www\:.gnu\:.org/\:software/\:global/\:global\:.html⟩.) The-toption may also be specified from withinless(using the - command) as a way of examining a new file.The command ":t" is equivalent to specifying-tfrom withinless.
-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 printable 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 characters"(as defined by Unicode) to be treated as control characters;that is, they are handled as specified by the-roption.
By default, if neither-unor-Uis given,backspaces which appear adjacent to an underscore characterare treated specially:the underlined text is displayedusing the terminal's hardware underlining capability.Also, backspaces which appear between two identical charactersare treated specially:the overstruck text is printedusing the terminal's hardware boldface capability.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-roption.Unicode formatting characters, such as the Byte Order Mark,are sent to the terminal.Text which is overstruck or underlined can be searched forif neither-unor-Uis in effect.
See also the--proc-backspace,--proc-tab, and --proc-returnoptions.
-V or --version
Displays the version number ofless.
-w or --hilite-unread
Temporarily highlights the first "new" line after a movementof a full page.The first "new" line is the line immediately following the line previouslyat 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 movement.If the--status-lineoption is in effect, the entire line(the width of the screen) is highlighted.Otherwise, only the text in the line is highlighted,unless the-Joption is in effect,in which case only the status column is highlighted.
-W or --HILITE-UNREAD
Like-w, but temporarily highlights the first new line after anymovement 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 stopsare set at those positions, and then continue with the same spacing as thelast two.Position numbers are zero-based: the leftmost position is 0,the next is 1, etc.For example, "-x8,16" is the same as "-x8" and sets tabs at position 8, 16, 24, 32, etc. "-x10,14,20" will set tabs at position 10, 14, 20, 26, 32, etc.The default for n is 8.
-X or --no-init
Disables sending the termcap initialization and deinitialization stringsto the terminal.This is sometimes desirable if initialization or deinitialization doessomething unnecessary, like clearing the screen.Note that some terminals require the initialization string for properoperation, so they may not behave completely correctly when-Xis used.
-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 repainted instead.The-cor-Coption may be used to repaint from the top ofthe 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 default is one screenful.The z and w commands can also be used to change the window size.The "z" may be omitted for compatibility with some versions ofmore(1). If the numbernis negative, it indicatesnlines less than the current screen size.For example, if the screen is 24 lines,-z-4sets thescrolling window to 20 lines.If the screen is later 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 filewhich contains both spaces and quote characters.Followed by a single character, this changes the quote character to thatcharacter.Filenames containing a space should then be surrounded by that characterrather 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 quotecharacter and followed by the close quote character.Note that even after the quote characters are changed, this optionremains -" (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 horizontallyin the RIGHTARROW and LEFTARROW commands.If the number specified is zero, it sets the default number ofpositions to one half of the screen width.Alternately, the number may be specified as a fraction of the widthof the screen, starting with a decimal point: .5 is half of thescreen width, .3 is three tenths of the screen width, and so on.If the number is specified as a fraction, the actual number ofscroll positions is recalculated if the terminal window is resized.
--autosave=actions
Normally, the history file is saved only whenlessexits.This option specifies other actions which will cause the history file to be saved.Each action is defined by a single character in the actions string:
m
Setting or clearing a mark while--save-marksis in effect.
/
Searching.
!
Running a shell command.
*
Any action; same as "m/!".
Can be set to "-" to specify the default, that only exitinglesswill cause the history file to be saved.Note that, depending on your shell, if you specify this option on the command line, the "!" and "*" characters may need to be escaped or quoted.
--cmd=commands
The specified string is taken to be an initial command toless. This is similar to specifying "+commands", except thatcommands specified by--cmdare not executed iflessexits immediately due to the use of the-Eor-Foption, whilecommands specified by the + option are executed even iflessexits immediately.
--emouse=features
features is a comma-separated list of mouse features to be enabled,selected from this list:
vscroll
Scrolling the mouse wheel down or up moves forward or backward inthe file.The number of lines to scroll when the wheel is moved can be set by the--wheel-linesoption.The--rmouseoption reverses the direction of movement.
vdrag
Holding down the left button and dragging up or down movesforward or backward in the file.
hscroll
Scrolling the side scroll wheel left or right moves left or rightin the file.The number of columns to scroll when the wheel is moved can be set by the--wheel-linesoption.The--rmouseoption reverses the direction of movement.
hdrag
Holding down the left button and dragging left or right movesleft or right in the file.
lclick
Left-clicking sets the "#" mark to the line where the mouse is clicked.If a left-click is performed with the mouse cursor on an OSC 8 hyperlink,the hyperlink is selected as if by the ^O^N command.If a left-click is performed with the mouse cursor on an OSC 8 hyperlinkwhich is already selected, the hyperlink is opened as if by the ^O^O command.
rclick
Right-clicking (or clicking any button other than the left one)returns to the "#" mark position.
scroll
Same as "vscroll,hscroll".
drag
Same as "vdrag,hdrag".
hmove
Same as "hscroll,hdrag".
vmove
Same as "vscroll,vdrag".
move
Same as "vmove,hmove".
click
Same as "lclick,rclick".
all
Same as "move,click".
Each feature name may be abbreviated as long as the abbreviationis unambiguous.If features is set to "-", all mouse features are disabled.Mouse input works only on terminals which support X11 mouse reporting,and on Windows.
--end-prompt=string
Specifies a string which is printed immediately after the prompt is erased.As with the --prompt option, the first character of the stringdetermines which prompt the string will be printed after("s" for the short prompt, "m" for the medium prompt,or "M" for the long prompt).Special characters in the string are processed as described in the PROMPTSsection, in the same way as prompts specified by the --prompt option.If set to a dash (-), nothing is printed after the prompt is erased.This option can be useful if the prompt string has been modified to containan escape sequence that puts the terminal in a mode which should be clearedwhen the prompt is erased.
--exit-follow-on-close
When using the "F" command on a pipe,lesswill automatically stop waiting for more data when the input side of the pipe is closed.
--file-size
If--file-sizeis specified,lesswill determine the size of the file immediately after opening the file.With this option enabled, the = command and the long prompt will displaythe number of lines in the file.Normally this is not done, because it can be slow if the input file is non-seekable (such as a pipe) and is large.
--follow-name
Normally, if the input file is renamed while an F command is executing,lesswill continue to display the contents of the original file despiteits name change.If--follow-nameis specified, during an F commandlesswill periodically attempt to reopen 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 createdwith the same name as the original (now renamed) file),lesswill display the contents of that new file.
--form-feed
When scrolling forward or backward in the file,stop if a line beginning with a form feed character (^L) is reached.This can be useful when viewing a file which uses form feeds between pages.
--header=L,C,N
Sets the number of header lines and columns displayed on the screen.The number of header lines is set to L.If L is 0, header lines are disabled.If L is empty or missing, the number of header lines is unchanged.The number of header columns is set to C.If C is 0, header columns are disabled.If C is empty or missing, the number of header columns is unchanged.The first header line is set to line number N in the file.If N is empty or missing, it is taken to be the number of the line currently displayed in the first line of the screen(if the--headercommand has been issued from withinless), or 1 (if the--headeroption has been given on the command line).The special form "--header=-" disables header lines and header columns, and is equivalent to "--header=0,0".
When L is nonzero, the first L lines at the topof the screen are replaced with the L lines of the file beginning at line N,regardless of what part of the file is being viewed.When header lines are displayed, any file contents before the header line cannot be viewed.When C is nonzero, the first C characters displayed at the beginning of each line are replaced with the first C characters of the line,even if the rest of the line is scrolled horizontally.
While the--headeroption is active, lines longer than the screen width are truncated, and the-Soption is ignored.
--hilite-target
Highlights the "target" line, as specified by the -j option.If the--status-lineoption is in effect, the entire line(the width of the screen) is highlighted.Otherwise, only the text in the line is highlighted,unless the-Joption is in effect,in which case only the status column is highlighted.
--incsearch
Subsequent search commands will be "incremental"; that is,lesswill 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 readwhen the "Waiting for data" message is displayed.c must be an ASCII character; that is, one with a value between 1 and 127 inclusive.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 option is in effect to n characters.The default is 7.
--match-shift=n
When-Sis in effect, if a search match is not visiblebecause it is shifted to the left or right of the currentlyvisible screen, the text will horizontally shift to ensure that the search match is visible.This option selects the column in which the first characterof the search match will be placed after the shift.In other words, there will be n characters visible to the left of the search match.
Alternately, the number may be specified as a fraction of the widthof the screen, starting with a decimal point: .5 is half of thescreen width, .3 is three tenths of the screen width, and so on.If the number is specified as a fraction, the actual number ofscroll positions is recalculated if the terminal window is resized.
--modelines=n
Before displaying a file,lesswill read the first n lines to try to find a vim-compatible modeline. If n is zero,lessdoes 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 separated 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=nhad been given.See the--tabsdescription for acceptable values of n.
--mouse
Enabling --mouse is the same as --emouse=vmove,click.Disabling --mouse is the same as --emouse=-.
--MOUSE
Like--mousewith--rmouse.
--no-edit-warn
Don't print a warning message when using the v commandon a file which was opened using a LESSOPEN preprocessor(see the INPUT PREPROCESSOR section below).
--no-keypad
Disables sending the keypad initialization and deinitialization stringsto the terminal.This is sometimes useful if the keypad strings make the numerickeypad behave in an undesirable manner.
--no-histdups
This option changes the behavior so that if a search string orfile 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--headeroption) are not assigned line numbers.Line number 1 is assigned to the first line after any header lines.
--no-paste
If the terminal supportsxterm-compatible "bracketed paste", any text pasted intolessis ignored, except that one line of text may be pasted into the command line at the bottom of the screen (search strings, file names, etc).That is, the first newline of text pasted into the command lineand any text that follows it is ignored.
--no-search-header-lines
Searches do not include header lines, but still include header columns.
--no-search-header-columns
Searches do not include header columns, but still include header lines.
--no-search-headers
Searches do not include header lines or header columns.
--no-vbell
Disables the terminal's visual bell.
--past-eof
Normally, scrolling commands (other than J, K, ESC-SPACE and ESC-b)stop scrolling when end-of-file is reached scrolling forward, orbeginning-of-file is reached scrolling backward.This option makes all scrolling commands continue past end-of-fileor beginning-of-file.
--proc-backspace
If set, backspaces are handled as if neither the-uoption nor the-Uoption were set.That is, a backspace adjacent to an underscore causes text to bedisplayed in underline mode, and a backspace between identicalcharacters cause text to be displayed in boldface mode.This option overrides the-uand-Uoptions, so that display ofbackspaces can be controlled separate from tabs and carriage returns.If not set, backspace display is controlled by the-uand-Uoptions.
--PROC-BACKSPACE
If set, backspaces are handled as if the-Uoption were set;that is backspaces are treated as control characters.
--proc-return
If set, carriage returns are handled as if neither the-uoption nor the-Uoption were set.That is, a carriage return immediately before a newline is deleted.This option overrides the-uand-Uoptions, so that display ofcarriage returns can be controlled separate from that of backspaces and tabs.If not set, carriage return display is controlled by the-uand-Uoptions.
--PROC-RETURN
If set, carriage returns are handled as if the-Uoption were set;that is carriage returns are treated as control characters.
--proc-tab
If set, tabs are handled as if the-Uoption were not set.That is, tabs are expanded to spaces.This option overrides the-Uoption, so that display oftabs can be controlled separate from that of backspaces and carriage returns.If not set, tab display is controlled by the-Uoption.
--PROC-TAB
If set, tabs are handled as if the-Uoption 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 terminal deinitialization string causes theterminal to switch from an alternate screen, this makes the last screenful of the current file remain visible afterlesshas quit.
--rmouse
Reverses the normal direction of scrolling when mouse scrolling isenabled via --emouse=vscroll or --emouse=hscroll.
--rscroll=c
This option changes the character used to mark truncated lines.It may begin with a two-character attribute indicator like LESSBINFMT 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 retainedacross different invocations ofless.
--search-options=...
Sets default search modifiers. The value is a string of one or more of the charactersE, F, K, N, R or W.Setting any of these has the same effect as typing thatcontrol character at the beginning of every search pattern.For example, setting--search-options=Wis the same astyping ^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 digitat the beginning of every search pattern.The value "-" disables all default search modifiers.
--show-preproc-errors
If a LESSOPEN preprocessor produces data, then exits with a non-zero exit code,lesswill display a warning.
--status-col-width=n
Sets the width of the status column when the-Joption is in effect.The default is 2 characters.
--status-line
If a line is marked, the entire line (rather than just the status column)is highlighted.Also lines highlighted due to the-wor--hilite-targetoption will havethe entire line highlighted.If--use-coloris set, the line is colored rather than highlighted.
--use-backslash
This option changes the interpretations of options which follow this one.After the--use-backslashoption, any backslash in an option string isremoved 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-Doption can be used to change the colors.Colored text works only if the terminal supports ANSI color escape sequences (as defined in ECMA-48 ⟨https://\:www\:.ecma\-international\:.org/\:publications\-and\-standards/\:standards/\:ecma\-48)⟩.
--wheel-lines=n
Set the number of lines or columns to scroll when the mouse wheel is scrolledand the--mouseor--MOUSEoption is in effect.The default is 1 line or column.
--wordwrap
When the-Soption 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 arguments.Any arguments following this are interpreted as filenames.This can be useful when viewing a file whose name begins with a "-" or "+".Otherwise, option arguments and filename arguments can be intermixed;that is, option arguments do not need to appear before filename arguments,unless the environment variable POSIXLY_CORRECT is set.
+
If a command line option begins with +,the remainder of that option is taken to be an initial command toless. For example, +G tellslessto 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 toevery file being viewed, not just the first one.The + command described previouslymay also be used to set (or change) an initial command for every file.Also see the--cmdoption.
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 ifa key does not exist on a particular keyboard.(Note that the forms beginning with ESC do not workon some MS-DOS and Windows systems because ESC is the line erase character.)Any of these special keys may be entered literally by precedingit 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 cursor one word to the left.
^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]
(That is, CONTROL and RIGHTARROW simultaneously.)Move the cursor 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 [ 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 command 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 matchis entered into the command line.Repeated TABs will cycle through the other matching filenames.If the completed filename is a directory, a "/" is appended to the filename.(On MS-DOS and Windows systems, a "\" is appended.)The environment variable LESSSEPARATOR can be used to specify adifferent character to append to a directory name.
BACKTAB (SHIFT-TAB) [ ESC-TAB ]
Like TAB, but cycles in the reverse direction through 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 intothe command line (if they fit).
^U (Unix and OS/2) or ESC (MS-DOS and Windows)
Delete the entire command line,or cancel the command if the cursor is at the beginning of the command line.If you have changed your line-kill character in Unix to somethingother 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 ownlesscommands by creating a lesskey source file.This file specifies a set of command keys and an actionassociated with each key.You may also change the line-editing keys (see LINE EDITING),and set environment variables used byless. See thelesskey(5)manual page for details about the file format.
If the environment variable LESSKEYIN is set,lessuses that as the name of the lesskey source file.Otherwise,lesslooks in a standard place for the lesskey source file:On Unix systems,lesslooks for a lesskey file called "$XDG_CONFIG_HOME/lesskey" or "$HOME/.config/lesskey" or "$HOME/.lesskey".On MS-DOS and Windows systems,lesslooks for a lesskey file called "$HOME/_lesskey", and if it is not found there,then looks for a lesskey file called "_lesskey" in any directory specifiedin the PATH environment variable.On OS/2 systems,lesslooks 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 specifiedin the INIT environment variable, and if it not found there,then looks for a lesskey file called "lesskey.ini" in any directory specifiedin 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 thesystem-wide file, key bindings in the local file take precedence overthose in the system-wide file.If the environment variable LESSKEYIN_SYSTEM is set,lessuses that as the name of the system-wide lesskey file.Otherwise,lesslooks in a standard place for the system-wide lesskey file:On Unix systems, the system-wide lesskey file is /usr/local/etc/syslesskey.(However, iflesswas built with a different 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.
Older versions ofless(before v582) used lesskey files with a binary format, produced by thelesskeyprogram. It is no longer necessary to use thelesskeyprogram.
Input preprocessor
You may define an "input preprocessor" forless. Beforelessopens a file, it first gives the input preprocessor a chance to modify theway the contents of the file are displayed.An input preprocessor is simply an executable program (or shell script),which writes the contents of the file to a different file,called the replacement file.The contents of the replacement file are then displayedin place of the contents of the original file.However, it will appear to the user as if the original file is opened;that is,lesswill 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 replacement filename,lessuses the original file, as normal.The input preprocessor is not called when viewing standard input.To set up an input preprocessor, set the LESSOPEN environment variableto a command line which will invoke your input preprocessor.This command line should include one occurrence of the string "%s",which will be replaced by the filenamewhen the input preprocessor command is invoked.Two consecutive percent signs are replaced with a single percent sign.
Whenlesscloses a file opened in such a way, it will call another program,called the input postprocessor,which may perform any desired clean-up action (such as deleting thereplacement file created by LESSOPEN).This program receives two command line arguments, the original filenameas entered by the user, and the name of the replacement file.To set up an input postprocessor, set the LESSCLOSE environment variableto a command line which will invoke your input postprocessor.It may include two occurrences of the string "%s";the first is replaced with the original name of the file andthe second with the name of the replacement file,which was output by LESSOPEN.Two consecutive percent signs are replaced with a single percent sign.
For example, on many Unix systems, these two scripts will allow youto keep files in compressed format, but still letlessview 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 andset LESSOPEN="lessopen.sh %s", andLESSCLOSE="lessclose.sh %s %s".More complex LESSOPEN and LESSCLOSE scripts may be writtento accept other types of compressed files, and so on.
It is also possible to set up an input preprocessor topipe the file data directly toless, rather than putting the data into a replacement file.This avoids the need to decompress the entire file beforestarting 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 replacement file onits standard output,writes the entire contents of the replacement file on its standard output.If the input pipe does not write any characters on its standard output,then there is no replacement file andlessuses the original file, as normal.To use an input pipe,make the first character in the LESSOPEN environment variable avertical bar (|) to signify that the input preprocessor is an input pipe.As with non-pipe input preprocessors, the command string must contain oneoccurrence of %s, which is replaced with the filename of the input file.
For example, on many Unix systems, this script will work like theprevious 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 setLESSOPEN="|lesspipe.sh %s".
Note that a preprocessor cannot output an empty file, since thatis interpreted as meaning there is no replacement, andthe 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 compatibility with previous versions ofless, if LESSOPEN starts with only one vertical bar, the exit statusof 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 fileto clean up.In this case, the replacement file name passed to the LESSCLOSEpostprocessor is "-".
For compatibility with previous versions ofless, the input preprocessor or pipe is not used iflessis 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 ofthe preprocessor command.If standard input is being viewed, the input preprocessor is passeda file name consisting of a single dash.Similarly, if the first two characters 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 ofthe input pipe command.
National character sets
There are five 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 foundin ordinary text files (such as backspace and tab).
binary characters
should not be displayed directly and are not expected to be foundin text files.
composing characters
are not displayed separately, but modify the display of thepreceding character. (Only when LESSCHARSET is "utf8".)
deleted characters
are simply deleted from the input and not displayed.(Only when LESSCHARSET is "utf8".)
A "character set" is a description of which of these categorieseach character belongs to.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 aretreated 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 resultsby setting either LESSCHARSET=IBM-1047 or LC_CTYPE=en_USin 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 multi-byte characters.
windows
Selects a character set appropriate for Microsoft Windows (cp 1252).
In rare cases, it may be desired to tailorlessto use a character set other than the ones definable by LESSCHARSET.In this case, the environment variable LESSCHARDEF can be usedto define a character set.It should be set to a string where each character in the string representsone character in the character set.The character "." is used for a normal character, "c" for control,and "b" for binary.A decimal number 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 binary, 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 necessarilyrepresent any real character set.)
This table shows the value of LESSCHARDEF which is equivalentto 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 LANGenvironment variables, then the default character set is utf-8.
If that string is not found, but your system supports thesetlocale(3)interface,lesswill use setlocale to determine the character set.setlocale is controlled by setting the LANG or LC_CTYPE environmentvariables.
Finally, if thesetlocaleinterface is also not available, the default character set is utf-8.
Control and binary characters are displayed in standout (reverse video).Each such character is displayed in caret notation if possible(e.g. ^A for control-A).Caret notation is used only ifinverting the 0100 bit results in a normal printable character.Otherwise, the character is displayed as a hex number in angle brackets.This format can be changed bysetting the LESSBINFMT environment variable.LESSBINFMT may begin with a "*" and one character to selectthe 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 oneprintf-style escape sequence (a % followed by x, X, o, d, etc.).For example, if LESSBINFMT is "*u[%x]", binary charactersare displayed in underlined hexadecimal surrounded by brackets.The default if no LESSBINFMT is specified is "*s<%02X>".Warning: the result of expanding the character via LESSBINFMT mustbe less than 31 characters.
When the character set is utf-8, the LESSUTFBINFMT environment variableacts similarly to LESSBINFMT but it applies to Unicode code pointsthat were successfully decoded but are unsuitable for display (e.g.,unassigned code points).Its default value is "<U+%04lX>".Note that LESSUTFBINFMT and LESSBINFMT share their display attributesetting ("*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 diagnosticof how the UTF-8 file is ill-formed.
When the character set is utf-8, in rare cases it may be desirable tooverride the Unicode definition of the type of certain characters.For example, characters in a Private Use Area are normally treated as binarycharacters, but if you are using a custom font with printable charactersin that range, it may be desirable to telllessto treat such characters as printable.This can be done by setting the LESSUTFCHARDEF environment variableto a comma-separated list of character typedefinitions.Each character type definition consists of either one hexadecimal codepointor 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 forall 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.
d
A deleted character (deleted from the input and not displayed).
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.
By default, emoji modifiers, components and variation selectorsare deleted because many terminals do not display them correctly.If you use a terminal which does display some or all of them correctly,you can cause them to be displayed by setting LESSUTFCHARDEFto treat them as composing characters.For example, this sets them all to composing characters:
The-Poption allows you to tailor the prompt to your preference.The string given to the-Poption replaces the specified prompt string.Certain characters in the string are interpreted specially.The prompt mechanism is rather complicated to provide flexibility,but the ordinary user need not understand the details of constructingpersonalized prompt strings.
A percent sign followed by a single character is expandedaccording 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 specifies the line whose byte offset is to be used.If the character is a "t", the byte offset of the top line in thedisplay is used,an "m" means use the middle line,a "b" means use the bottom line,a "B" means use the line just after the bottom line,and a "j" means use the "target" line, as specified by the-joption.
%B
Replaced by the size of the current input file.
%c
Replaced by the column number of the text which appears in the firstcolumn of the screen.
%C
Replaced by the column number of the text which appears (or would appear) in the lastcolumn 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 equivalently, the page number of the last line in the input file.
%E
Replaced by the value of the VISUAL environment variable,or the EDITOR environment variable if VISUAL is not defined.See the usage example at 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.
%G
Replaced by the shell-escaped last component of the name of the current input file.
%i
Replaced by the index of the current file in the list ofinput 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.
%Q
Replaced by the percent of the last column of text displayed on the screencompared to the length of the longest line currently displayed(that is, %C divided by %W).Note that using this sequence can make displaying the prompt be slower than usual.
%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-toption,it expands to the word "tag".
%W
Replaced by the width of the longest line currently displayed on the screen.Note that using this sequence can make displaying the prompt be slower than usual.
%x
Replaced by the name of the next input file in the list.
%y
Replaced by the shell-escaped name of the next input file in the list.
%%
Replaced by a single percent sign.
If any item is unknown (for example, the file size if inputis a pipe), a question mark is printed instead.
The format of the prompt string can be changeddepending on certain conditions.A question mark followed by a single character acts like an "IF":depending on the following character, a condition is evaluated.If the condition is true, any characters following the question markand 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 theperiod can be used to establish an "ELSE": any characters betweenthe colon and the period are included in the string if and only ifthe 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 greater than 1).
?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.
?O
True if an OSC 8 hyperlink is selected.
?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.
?Q
True if %Q is less than 100.Note that using this sequence can make displaying the prompt be slower than usual.
?s
Same as "?B".
?x
True if there is a next input file(that is, if the current input file is not the last one).
Any characters other than the special ones(question mark, colon, period, percent, and backslash)become literally part of the prompt.Any of the special characters may be included in the prompt literallyby preceding it with a backslash.
Some examples:
?f%f:Standard input.
This prompt prints the filename, if known;otherwise the string "Standard input".
?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...
This prompt would print the filename, if known.The filename is followed by the line number, if known,otherwise the percent if known, otherwise the byte offset if known.Otherwise, a dash is printed.Notice how each question mark has a matching period,and how the % after the %ptis 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,followed by the "file N of N" message if there is morethan one input file.Then, if we are at end-of-file, the string "(END)" is printedfollowed by the name of the next file, if there is one.Finally, any trailing spaces are truncated.This is the default prompt.For reference, here are the defaults forthe other two prompts -mand-Mrespectively).Each is broken into two lines here for readability only.
The prompt expansion features are also used for another purpose:if an environment variable LESSEDIT is defined, it is usedas the command to be executed when the v command is invoked.The LESSEDIT string is expanded 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 theline number, followed by the shell-escaped file name.If your editor does not accept the "+linenumber" syntax, or has otherdifferences in invocation syntax, the LESSEDIT variable can bechanged to modify this default.
Security
When the environment variable LESSSECURE is set to 1,lessruns in a "secure" mode.In this mode, these features are disabled:
edit
the edit command (v)
examine
the examine command (:e)
glob
metacharacters such as * in filenames, and filename completion (TAB, ^L)
history
history file
lesskey
use of lesskey files, including the-kand--lesskey-srcoptions, and all environment variables whose name begins with "LESSKEY"
The LESSSECURE_ALLOW environment variable can be set to a comma-separated listof names of features which are selectively enabled when LESSSECURE is set.Each feature name is the first word in each line in the above list.A feature name may be abbreviated as long as the abbreviation is unambiguous.For example, if LESSSECURE=1andLESSSECURE_ALLOW=hist,editwere set, all of the above features would be disabled except for history files and the edit command.
The LESSSECURE_DISALLOW environment variable can be set to a comma-separated listof names of features which are selectively disabled when LESSSECURE is not set.
Less can also be compiled to be permanently in "secure" mode.In that case, all of the above features are disabled,and the LESSSECURE, LESSSECURE_ALLOW and LESSSECURE_DISALLOW variables are ignored.
Compatibility with more
If the environment variable LESS_IS_MORE is set to 1,or if the program is invoked via a file link named "more"and the environment variable LESS_IS_MORE is not set to 0,lessbehaves (mostly) in conformance with the POSIX more(1)command specification.In this mode,lessbehaves differently in these ways:
The-eoption works differently.If the-eoption is not set,lessbehaves as if the-eoption were set.If the-eoption is set,lessbehaves as if the-Eoption were set.
The-moption works differently.If the-moption is not set, the medium prompt is used,and it is prefixed with the string "--More--".If the-moption is set, the short prompt is used.
The-noption acts like the-zoption.The normal behavior of the-noption is unavailable in this mode.
The parameter to the-poption is taken to be alesscommand rather than a search pattern.
The LESS environment variable is ignored,and the MORE environment variable is used in its place.
Environment
Environment variables may be specified either in the system environmentas usual, or in alesskey(5)file.If environment variables are defined in more than one place,variables defined in a local lesskey file take precedence overvariables defined in the system environment, which take precedenceover 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 theLINES 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 variables isthe name of the user's home directory if the HOME variable 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 tolessautomatically.
LESSANSIENDCHARS
Characters which may end an ANSI color escape sequence(default "m").
LESSANSIMIDCHARS
Characters which may appear between the ESC character and theend character in an ANSI color escape sequence(default "0123456789:;[?!"'#%()*+ ").
LESSANSIOSCALLOW
A comma-separated list of OSC types which are output directly to theterminal when-Ris in effect(default "8"; that is, only OSC 8 sequences are output directly).
LESSANSIOSCCHARS
Characters which may follow an ESC character to mark the startof an "OS Command" sequence. All characters that follow this character up to a String Terminator (ESC-backslash or BEL)are considered to be part of the OSC sequence (default "]").If a character in LESSANSIOSCCHARS is followed by an asterisk,sequences that begin with that character in the file contents are passed through to the terminal;otherwise only sequences that appear in a prompt string are passed through.
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 discussion under PROMPTS.
LESSGLOBALTAGS
Name of the command used by the-toption to find global tags.Normally should be set to "global" if your system has theglobal(1)command.If not set, global tags are not used.
LESSHISTFILE
Name of the history file used to remember search commands andshell commands between invocations ofless. 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 defaultlesskey sourcefile.
LESSKEY
Name of the defaultlesskey binaryfile. (Not used if "$LESSKEYIN" exists.)
LESSKEY_CONTENT
The value is parsed as if it were the parameter of a--lesskey-contentoption.
LESSKEYIN_SYSTEM
Name of the default system-widelesskey sourcefile.
LESSKEY_SYSTEM
Name of the default system-widelesskey binaryfile. (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 acommand sent to the shell (default "\").
LESSNOCONFIG
If set to "-", all environment variables except TERM are ignored(treated as if they were not set).If set to a comma-separated list of environment variable names,all environment variables except TERM and those in the list are ignored.In either case (if set to any non-empty value), alllesskeyfiles are also ignored.
LESSOPEN
Command line to invoke the (optional) input-preprocessor.
LESSSECURE
Runs less in "secure" mode.See discussion under SECURITY.
LESSSECURE_ALLOW
Enables individual features which are normally disabled by LESSSECURE.See discussion under SECURITY.
LESSSECURE_DISALLOW
When LESSSECURE is not set, LESSSECURE_DISALLOW can disable individual features.See discussion under SECURITY.
LESSSEPARATOR
String to be appended to a directory name in filename completion(default "\" on MS-DOS, Windows, and OS/2; otherwise "/").
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 makelessuse less than the full screen width.If set to a negative number, sets the number of columns used tothis 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 makelessuse less than the full screen height.If set to a negative number, sets the number of lines used tothis much less than the actual screen height.When set,lessrepaints 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 displayed.The default is 4000 (4 seconds).
When set to the name of alessmsgfile, messages displayed by less are taken from that file.This can be used to translatelessmessages into another language.See the filelessmsgin thelessdistribution for more details.
LESS_OSC8_OPEN_xxx
Where "xxx" is a URI scheme such as "http" or "file",sets an OSC 8 handler for opening OSC 8 links containing a URI with that scheme.
LESS_OSC8_OPEN_ANY
Sets an OSC 8 handler for opening OSC 8 links for which there is no specific LESS_OSC8_OPEN_xxx handler set for the "xxx" scheme.
LESS_OSC8_OPEN_NONE
Sets an OSC 8 handler for opening OSC 8 links which contain no scheme(that is, there is no colon in the URI).
LESS_SHELL_COPTION
Normally when executing a shell commandcmd(via !, #, or |, or a LESSOPEN command),if the SHELL environment variable is set, the commandis invoked as "$SHELL -c cmd".If the LESS_SHELL_COPTION environment variable is set, its valueis used instead of "-c" in that invocation.If LESS_SHELL_COPTION is set to a single dash,lessacts as if SHELL were not set, and therefore invokescmddirectly.
LESS_SHELL_LINES
When the-Foption is set,lessexits automatically if the number of screen lines used to display the file is less than or equal to the screen height minus the value of the LESS_SHELL_LINES variable.Thus, if you use a shell prompt which occupies more than one screen line,this variable can be set to the number of lines used by your prompt,to ensure that the entire file can be seen when-Fis used.If not set, LESS_SHELL_LINES is assumed to be 1.
LESS_SIGUSR1
If set to a string of one or morelesscommand characters, those commands will be executed whenlessreceives a SIGUSR1 signal.
LESS_TERMCAP_xx
Where "xx" is any two characters, overrides the definition of the termcap "xx" capability for the terminal.No escape sequences in the string are processed, so anynonprintable characters such as ESC must be in the string literally.
LESS_TERMINFO_xxxx
Where "xxxx" is any string of characters, overrides the definitionof the terminfo "xxxx" capability for the terminal.You can use either LESS_TERMCAP_xx or LESS_TERMINFO_xxxx to overridea terminal capability, regardless of whetherlessis built with thetermcapor theterminfolibrary.
LESS_TERMCAP_BRACKETED_PASTE_START
Overrides the standard ANSI escape sequence to enable bracketed paste.This is used when the--no-pasteoption is in effect.
LESS_TERMCAP_BRACKETED_PASTE_END
Overrides the standard ANSI escape sequence to disable bracketed paste.
LESS_TERMCAP_MOUSE_START
Overrides the standard ANSI escape sequence to enable mouse reporting.This is used when the--mouseoption is in effect.
LESS_TERMCAP_MOUSE_END
Overrides the standard ANSI escape sequence to disable mouse reporting.
LESS_TERMCAP_SUSPEND
Defines an escape sequence to temporarily suspend screen updates.This is sent to the terminal before clearing the screen.This can be used to avoid screen tearing when the screen is redrawnon certain terminals.
LESS_TERMCAP_RESUME
Defines an escape sequence to resume screen updates.This is sent to the terminal after displaying the prompt.
LESS_UNSUPPORT
A space-separated list of command line options.These options will be ignored (with no error message) if they appear on the command line or in the LESS environment variable.Options listed in LESS_UNSUPPORT can still be changed by the - and -- commands.Each option in LESS_UNSUPPORT is a dash followed by a single character option letter, or two dashes followed by a long option name.
LINES
Sets the number of lines on the screen.Takes precedence over the number of lines specified by the TERM variable.(But if you have a windowing system which supports TIOCGWINSZ or WIOCGETD,the window system's idea of the screen size takes precedence over theLINES and COLUMNS environment variables.)
MORE
Options which are passed tolessautomatically when running inmore-compatible mode.
PATH
User's search path (used to find a lesskey fileon MS-DOS, Windows, and OS/2 systems).
POSIXLY_CORRECT
If set to any value, all option arguments on the command lineare expected to appear before any filename arguments.This must be set as an actual environment variable, not in alesskeyfile.
SHELL
The shell used to execute the ! command, as well as to expand filenames.
TERM
The type of terminal on whichlessis being run.
VISUAL
The name of the editor (used for the v command).
XDG_CONFIG_HOME
Possible location of the lesskeyfile; see the KEY BINDINGS section.
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.
History
FreeBSD 16.0-CURRENT (2026-10-27): the text shown here
FreeBSD 15.1-RELEASE
FreeBSD 15.0-RELEASE
FreeBSD 14.5-RELEASE
FreeBSD 14.4-RELEASE
FreeBSD 14.3-RELEASE
FreeBSD 14.2-RELEASE to FreeBSD 14.0-RELEASE
FreeBSD 13.5-RELEASE
FreeBSD 13.4-RELEASE to FreeBSD 13.3-RELEASE
FreeBSD 13.2-RELEASE
FreeBSD 13.1-RELEASE
FreeBSD 13.0-RELEASE
FreeBSD 12.4-RELEASE to FreeBSD 12.3-RELEASE
FreeBSD 12.2-RELEASE
FreeBSD 12.1-RELEASE to FreeBSD 12.0-RELEASE
FreeBSD 11.4-RELEASE
FreeBSD 11.3-RELEASE to FreeBSD 11.2-RELEASE
FreeBSD 11.1-RELEASE to FreeBSD 10.3-RELEASE
FreeBSD 10.2-RELEASE to FreeBSD 9.2-RELEASE
FreeBSD 9.1-RELEASE to FreeBSD 9.0-RELEASE
FreeBSD 8.4-RELEASE
FreeBSD 8.3-RELEASE
FreeBSD 8.2-RELEASE to FreeBSD 7.4-RELEASE
FreeBSD 7.3-RELEASE to FreeBSD 6.3-RELEASE
FreeBSD 6.2-RELEASE
FreeBSD 6.1-RELEASE to FreeBSD 5.3-RELEASE
FreeBSD 5.2.1-RELEASE to FreeBSD 5.0-RELEASE
FreeBSD 4.11-RELEASE to FreeBSD 4.1-RELEASE
FreeBSD 4.0-RELEASE
FreeBSD 3.5.1-RELEASE to FreeBSD 3.5-RELEASE
FreeBSD 3.4-RELEASE to FreeBSD 3.3-RELEASE
FreeBSD 3.2-RELEASE
FreeBSD 3.1-RELEASE to FreeBSD 3.0-RELEASE
FreeBSD 2.2.9-RELEASE to FreeBSD 2.2.7-RELEASE
FreeBSD 2.2.6-RELEASE to FreeBSD 2.2.5-RELEASE
FreeBSD 2.2.2-RELEASE
FreeBSD 2.1.7.1-RELEASE to FreeBSD 2.0.5-RELEASE
-! since FreeBSD 4.1-RELEASE;
-# since FreeBSD 4.1-RELEASE;
-+ since FreeBSD 4.1-RELEASE;
-- since FreeBSD 4.1-RELEASE;
--CLEAR-SCREEN since FreeBSD 4.1-RELEASE;
--HILITE-SEARCH since FreeBSD 4.1-RELEASE;
--HILITE-UNREAD since FreeBSD 4.1-RELEASE;
--IGNORE-CASE since FreeBSD 4.1-RELEASE;
--LINE-NUMBERS since FreeBSD 4.1-RELEASE;
--LOG-FILE since FreeBSD 4.1-RELEASE;
--LONG-PROMPT since FreeBSD 4.1-RELEASE;
--MOUSE since FreeBSD 12.2-RELEASE;
--PROC-BACKSPACE since FreeBSD 13.3-RELEASE;
--PROC-RETURN since FreeBSD 13.3-RELEASE;
--PROC-TAB since FreeBSD 13.3-RELEASE;
--QUIET since FreeBSD 4.1-RELEASE;
--QUIT-AT-EOF since FreeBSD 4.1-RELEASE;
--RAW-CONTROL-CHARS since FreeBSD 4.1-RELEASE;
--SEARCH-SKIP-SCREEN since FreeBSD 8.3-RELEASE;
--SILENT since FreeBSD 4.1-RELEASE;
--UNDERLINE-SPECIAL since FreeBSD 4.1-RELEASE;
--auto-buffers since FreeBSD 4.1-RELEASE;
--autosave since FreeBSD 15.1-RELEASE;
--buffers since FreeBSD 4.1-RELEASE;
--chop-long-lines since FreeBSD 4.1-RELEASE;
--clear-screen since FreeBSD 4.1-RELEASE;
--cmd since FreeBSD 15.1-RELEASE;
--color since FreeBSD 4.1-RELEASE;
--dumb since FreeBSD 4.1-RELEASE;
--emouse since FreeBSD 16.0-CURRENT (2026-10-27);
--end-prompt since FreeBSD 16.0-CURRENT (2026-10-27);
--exit-follow-on-close since FreeBSD 13.2-RELEASE;
--file-size since FreeBSD 13.1-RELEASE;
--follow-name since FreeBSD 6.3-RELEASE;
--force since FreeBSD 4.1-RELEASE;
--form-feed since FreeBSD 14.4-RELEASE;
--header since FreeBSD 13.2-RELEASE;
--help since FreeBSD 4.1-RELEASE;
--hilite-search since FreeBSD 4.1-RELEASE;
--hilite-target since FreeBSD 16.0-CURRENT (2026-10-27);
--hilite-unread since FreeBSD 4.1-RELEASE;
--ignore-case since FreeBSD 4.1-RELEASE;
--incsearch since FreeBSD 13.1-RELEASE;
--intr since FreeBSD 13.3-RELEASE;
--jump-target since FreeBSD 4.1-RELEASE;
--lesskey-content since FreeBSD 14.3-RELEASE;
--lesskey-file since FreeBSD 4.1-RELEASE;
--lesskey-src since FreeBSD 13.1-RELEASE;
--line-num-width since FreeBSD 13.1-RELEASE;
--line-numbers since FreeBSD 4.1-RELEASE;
--log-file since FreeBSD 4.1-RELEASE;
--long-prompt since FreeBSD 4.1-RELEASE;
--match-shift since FreeBSD 14.3-RELEASE;
--max-back-scroll since FreeBSD 6.2-RELEASE;
--max-forw-scroll since FreeBSD 4.1-RELEASE;
--modelines since FreeBSD 13.3-RELEASE;
--mouse since FreeBSD 12.2-RELEASE;
--no-edit-warn since FreeBSD 14.4-RELEASE;
--no-histdups since FreeBSD 12.2-RELEASE;
--no-init since FreeBSD 4.1-RELEASE;
--no-keypad since FreeBSD 5.0-RELEASE;
--no-lessopen since FreeBSD 5.3-RELEASE;
--no-number-headers since FreeBSD 13.2-RELEASE;
--no-paste since FreeBSD 14.4-RELEASE;
--no-search-header-columns since FreeBSD 14.3-RELEASE;
--no-search-header-lines since FreeBSD 14.3-RELEASE;
--no-search-headers since FreeBSD 13.3-RELEASE;
--no-vbell since FreeBSD 13.3-RELEASE;
--past-eof since FreeBSD 16.0-CURRENT (2026-10-27);
--pattern since FreeBSD 4.1-RELEASE;
--proc-backspace since FreeBSD 13.3-RELEASE;
--proc-return since FreeBSD 13.3-RELEASE;
--proc-tab since FreeBSD 13.3-RELEASE;
--prompt since FreeBSD 4.1-RELEASE;
--quiet since FreeBSD 4.1-RELEASE;
--quit-at-eof since FreeBSD 4.1-RELEASE;
--quit-if-one-screen since FreeBSD 4.1-RELEASE;
--quit-on-intr since FreeBSD 6.2-RELEASE;
--raw-control-chars since FreeBSD 4.1-RELEASE;
--redraw-on-quit since FreeBSD 13.2-RELEASE;
--rmouse since FreeBSD 16.0-CURRENT (2026-10-27);
--rscroll since FreeBSD 11.2-RELEASE;
--save-marks since FreeBSD 12.2-RELEASE;
--search-options since FreeBSD 13.2-RELEASE;
--search-skip-screen since FreeBSD 4.1-RELEASE;
--shift since FreeBSD 4.1-RELEASE;
--show-preproc-errors since FreeBSD 13.3-RELEASE;
--silent since FreeBSD 4.1-RELEASE;
--squeeze-blank-lines since FreeBSD 4.1-RELEASE;
--status-col-width since FreeBSD 13.1-RELEASE;
--status-column since FreeBSD 4.1-RELEASE;
--status-line since FreeBSD 13.2-RELEASE;
--tabs since FreeBSD 15.1-RELEASE;
--tag since FreeBSD 4.1-RELEASE;
--tag-file since FreeBSD 4.1-RELEASE;
--tilde since FreeBSD 4.1-RELEASE;
--underline-special since FreeBSD 4.1-RELEASE;
--use-backslash since FreeBSD 9.2-RELEASE;
--use-color since FreeBSD 13.1-RELEASE;
--version since FreeBSD 4.1-RELEASE;
--wheel-lines since FreeBSD 12.2-RELEASE;
--window since FreeBSD 11.2-RELEASE;
--wordwrap since FreeBSD 13.3-RELEASE;
-? since FreeBSD 4.1-RELEASE;
-A since FreeBSD 8.3-RELEASE;
-B since FreeBSD 4.1-RELEASE;
-C since FreeBSD 4.1-RELEASE;
-Dx since FreeBSD 15.1-RELEASE;
-E since FreeBSD 4.1-RELEASE;
-F since FreeBSD 4.1-RELEASE;
-G since FreeBSD 4.1-RELEASE;
-I since FreeBSD 4.1-RELEASE;
-J since FreeBSD 4.1-RELEASE;
-K since FreeBSD 6.2-RELEASE;
-L since FreeBSD 5.3-RELEASE;
-M since FreeBSD 4.1-RELEASE;
-N since FreeBSD 4.1-RELEASE;
-O since FreeBSD 15.1-RELEASE;
-P since FreeBSD 15.1-RELEASE;
-PM since FreeBSD 15.1-RELEASE;
-Ph since FreeBSD 15.1-RELEASE;
-Pm since FreeBSD 15.1-RELEASE;
-Ps since FreeBSD 15.1-RELEASE;
-Pw since FreeBSD 15.1-RELEASE;
-Q since FreeBSD 4.1-RELEASE;
-R since FreeBSD 4.1-RELEASE;
-S since FreeBSD 4.1-RELEASE;
-T since FreeBSD 15.1-RELEASE;
-U since FreeBSD 4.1-RELEASE;
-V since FreeBSD 4.1-RELEASE;
-W since FreeBSD 4.1-RELEASE;
-X since FreeBSD 4.1-RELEASE;
-a since FreeBSD 4.1-RELEASE;
-b since FreeBSD 15.1-RELEASE;
-d since FreeBSD 4.1-RELEASE;
-f since FreeBSD 4.1-RELEASE;
-g since FreeBSD 4.1-RELEASE;
-h since FreeBSD 15.1-RELEASE;
-j since FreeBSD 15.1-RELEASE;
-k since FreeBSD 15.1-RELEASE;
-m since FreeBSD 4.1-RELEASE;
-o since FreeBSD 15.1-RELEASE;
-p since FreeBSD 15.1-RELEASE;
-q since FreeBSD 4.1-RELEASE;
-r since FreeBSD 4.1-RELEASE;
-t since FreeBSD 15.1-RELEASE;
-w since FreeBSD 4.1-RELEASE;
-x since FreeBSD 15.1-RELEASE;
-y since FreeBSD 15.1-RELEASE;
-z since FreeBSD 15.1-RELEASE;
-~ since FreeBSD 4.1-RELEASE.
-/ until FreeBSD 4.0-RELEASE;
-Dxcolor until FreeBSD 15.0-RELEASE;
-Ofilename until FreeBSD 15.0-RELEASE;
-Pprompt until FreeBSD 15.0-RELEASE;
-Ttagsfile until FreeBSD 15.0-RELEASE;
-bn until FreeBSD 15.0-RELEASE;
-hn until FreeBSD 15.0-RELEASE;
-jn until FreeBSD 15.0-RELEASE;
-kfilename until FreeBSD 15.0-RELEASE;
-ofilename until FreeBSD 15.0-RELEASE;
-ppattern until FreeBSD 15.0-RELEASE;
-ttag until FreeBSD 15.0-RELEASE;
-xn until FreeBSD 4.11-RELEASE;
-yn until FreeBSD 15.0-RELEASE;
-zn until FreeBSD 15.0-RELEASE.