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