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