{
    "mode": "info",
    "parameter": "LESS",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/info/LESS/json",
    "generated": "2026-07-27T15:10:30Z",
    "synopsis": "less -?\nless --help\nless -V\nless --version\nless [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]\n[-b space] [-h lines] [-j line] [-k keyfile]\n[-{oO} logfile] [-p pattern] [-P prompt] [-t tag]\n[-T tagsfile] [-x tab,...] [-y lines] [-[z] lines]\n[-# shift] [+[+]cmd] [--] [filename]...\n(See  the  OPTIONS section for alternate option syntax with long option\nnames.)",
    "sections": {
        "NAME": {
            "content": "less - perl pragma to request less of something\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "use less 'CPU';\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This is a user-pragma. If you're very lucky some code you're using will\nknow that you asked for less CPU usage or ram or fat or... we just\ncan't know. Consult your documentation on everything you're currently\nusing.\n\nFor general suggestions, try requesting \"CPU\" or \"memory\".\n\nuse less 'memory';\nuse less 'CPU';\nuse less 'fat';\n\nIf you ask for nothing in particular, you'll be asking for \"less\n'please'\".\n\nuse less 'please';\n",
            "subsections": []
        },
        "COMMANDS": {
            "content": "In the following descriptions, ^X means control-X.  ESC stands for  the\nESCAPE  key;  for  example  ESC-v means the two character sequence \"ES-\nCAPE\", then \"v\".\n\nh or H Help: display a summary of these commands.  If  you  forget  all\nthe other commands, remember this one.\n\nSPACE or ^V or f or ^F\nScroll  forward  N  lines, default one window (see option -z be-\nlow).  If N is more than the screen size, only the final screen-\nful  is  displayed.   Warning:  some systems use ^V as a special\nliteralization character.\n\nz      Like SPACE, but if N is specified, it  becomes  the  new  window\nsize.\n\nESC-SPACE\nLike  SPACE,  but  scrolls  a full screenful, even if it reaches\nend-of-file in the process.\n\nENTER or RETURN or ^N or e or ^E or j or ^J\nScroll forward N lines, default 1.  The entire N lines are  dis-\nplayed, even if N is more than the screen size.\n\nd or ^D\nScroll forward N lines, default one half of the screen size.  If\nN is specified, it becomes the new default for subsequent d  and\nu commands.\n\nb or ^B or ESC-v\nScroll  backward  N lines, default one window (see option -z be-\nlow).  If N is more than the screen size, only the final screen-\nful is displayed.\n\nw      Like  ESC-v,  but  if  N is specified, it becomes the new window\nsize.\n\ny or ^Y or ^P or k or ^K\nScroll backward N lines, default 1.  The entire N lines are dis-\nplayed,  even  if N is more than the screen size.  Warning: some\nsystems use ^Y as a special job control character.\n\nu or ^U\nScroll backward N lines, default one half of  the  screen  size.\nIf  N  is specified, it becomes the new default for subsequent d\nand u commands.\n\nJ      Like j, but continues to scroll beyond the end of the file.\n\nK or Y Like k, but continues to scroll  beyond  the  beginning  of  the\nfile.\n\nESC-) or RIGHTARROW\nScroll  horizontally right N characters, default half the screen\nwidth (see the -# option).  If a number N is specified,  it  be-\ncomes  the default for future RIGHTARROW and LEFTARROW commands.\nWhile the text is scrolled, it acts  as  though  the  -S  option\n(chop lines) were in effect.\n\nESC-( or LEFTARROW\nScroll  horizontally  left N characters, default half the screen\nwidth (see the -# option).  If a number N is specified,  it  be-\ncomes the default for future RIGHTARROW and LEFTARROW commands.\n\nESC-} or ^RIGHTARROW\nScroll  horizontally  right  to show the end of the longest dis-\nplayed line.\n\nESC-{ or ^LEFTARROW\nScroll horizontally left back to the first column.\n\nr or ^R or ^L\nRepaint the screen.\n\nR      Repaint the screen, discarding any  buffered  input.   That  is,\nreload  the  current file.  Useful if the file is changing while\nit is being viewed.\n\nF      Scroll forward, and keep trying to read when the end of file  is\nreached.   Normally  this  command would be used when already at\nthe end of the file.  It is a way to monitor the tail of a  file\nwhich  is  growing  while  it is being viewed.  (The behavior is\nsimilar to the \"tail -f\" command.)  To  stop  waiting  for  more\ndata,  enter the interrupt character (usually ^C).  On some sys-\ntems you can also use ^X.\n\nESC-F  Like F, but as soon as a line is found which  matches  the  last\nsearch  pattern, the terminal bell is rung and forward scrolling\nstops.\n\ng or < or ESC-<\nGo to line N in the file, default 1 (beginning of file).  (Warn-\ning: this may be slow if N is large.)\n\nG or > or ESC->\nGo  to  line N in the file, default the end of the file.  (Warn-\ning: this may be slow if N is large, or if N  is  not  specified\nand standard input, rather than a file, is being read.)\n\nESC-G  Same  as  G, except if no number N is specified and the input is\nstandard input,  goes  to  the  last  line  which  is  currently\nbuffered.\n\np or % Go to a position N percent into the file.  N should be between 0\nand 100, and may contain a decimal point.\n\nP      Go to the line containing byte offset N in the file.\n\n{      If a left curly bracket appears in the top line displayed on the\nscreen,  the  {  command  will  go  to  the matching right curly\nbracket.  The matching right curly bracket is positioned on  the\nbottom line of the screen.  If there is more than one left curly\nbracket on the top line, a number N may be used to  specify  the\nN-th bracket on the line.\n\n}      If a right curly bracket appears in the bottom line displayed on\nthe screen, the } command will go to  the  matching  left  curly\nbracket.   The  matching left curly bracket is positioned on the\ntop line of the screen.  If there is more than one  right  curly\nbracket  on  the top line, a number N may be used to specify the\nN-th bracket on the line.\n\n(      Like {, but applies to parentheses rather than curly brackets.\n\n)      Like }, but applies to parentheses rather than curly brackets.\n\n[      Like {, but applies to square brackets rather than curly  brack-\nets.\n\n]      Like  }, but applies to square brackets rather than curly brack-\nets.\n\nESC-^F Followed by two characters, acts like {, but uses the two  char-\nacters  as  open and close brackets, respectively.  For example,\n\"ESC ^F < >\" could be used to go forward to the > which  matches\nthe < in the top displayed line.\n\nESC-^B Followed  by two characters, acts like }, but uses the two char-\nacters as open and close brackets, respectively.   For  example,\n\"ESC ^B < >\" could be used to go backward to the < which matches\nthe > in the bottom displayed line.\n\nm      Followed by any lowercase or uppercase letter, marks  the  first\ndisplayed  line  with  that letter.  If the status column is en-\nabled via the -J option, the  status  column  shows  the  marked\nline.\n\nM      Acts  like  m,  except  the last displayed line is marked rather\nthan the first displayed line.\n\n'      (Single quote.)  Followed by any lowercase or uppercase  letter,\nreturns  to  the  position which was previously marked with that\nletter.  Followed by another single quote, returns to the  posi-\ntion  at  which  the last \"large\" movement command was executed.\nFollowed by a ^ or $, jumps to the beginning or end of the  file\nrespectively.   Marks are preserved when a new file is examined,\nso the ' command can be used to switch between input files.\n\n^X^X   Same as single quote.\n\nESC-m  Followed by any lowercase or uppercase letter, clears  the  mark\nidentified by that letter.\n\n/pattern\nSearch forward in the file for the N-th line containing the pat-\ntern.  N defaults to 1.  The pattern is a regular expression, as\nrecognized  by  the  regular expression library supplied by your\nsystem.  The search starts at the first line displayed (but  see\nthe -a and -j options, which change this).\n\nCertain  characters  are  special if entered at the beginning of\nthe pattern; they modify the type of search rather  than  become\npart of the pattern:\n\n^N or !\nSearch for lines which do NOT match the pattern.\n\n^E or *\nSearch  multiple  files.   That is, if the search reaches\nthe END of the current file without finding a match,  the\nsearch  continues  in  the  next file in the command line\nlist.\n\n^F or @\nBegin the search at the first line of the FIRST  file  in\nthe  command  line  list, regardless of what is currently\ndisplayed on the screen or the settings of the -a  or  -j\noptions.\n\n^K     Highlight  any text which matches the pattern on the cur-\nrent screen, but don't move to the first match (KEEP cur-\nrent position).\n\n^R     Don't  interpret  regular expression metacharacters; that\nis, do a simple textual comparison.\n\n^W     WRAP around the current file.  That  is,  if  the  search\nreaches  the  end  of  the current file without finding a\nmatch, the search continues from the first  line  of  the\ncurrent file up to the line where it started.\n\n?pattern\nSearch  backward  in  the  file for the N-th line containing the\npattern.  The search starts at the last line displayed (but  see\nthe -a and -j options, which change this).\n\nCertain characters are special as in the / command:\n\n^N or !\nSearch for lines which do NOT match the pattern.\n\n^E or *\nSearch  multiple  files.   That is, if the search reaches\nthe beginning of  the  current  file  without  finding  a\nmatch,  the  search continues in the previous file in the\ncommand line list.\n\n^F or @\nBegin the search at the last line of the last file in the\ncommand  line  list, regardless of what is currently dis-\nplayed on the screen or the settings of the -a or -j  op-\ntions.\n\n^K     As in forward searches.\n\n^R     As in forward searches.\n\n^W     WRAP  around  the  current  file.  That is, if the search\nreaches the beginning of the current file without finding\na  match,  the search continues from the last line of the\ncurrent file up to the line where it started.\n\nESC-/pattern\nSame as \"/*\".\n\nESC-?pattern\nSame as \"?*\".\n\nn      Repeat previous search, for N-th line containing the  last  pat-\ntern.   If the previous search was modified by ^N, the search is\nmade for the N-th line NOT containing the pattern.  If the  pre-\nvious  search  was  modified  by ^E, the search continues in the\nnext (or previous) file if not satisfied in  the  current  file.\nIf  the  previous  search was modified by ^R, the search is done\nwithout using regular expressions.  There is no  effect  if  the\nprevious search was modified by ^F or ^K.\n\nN      Repeat previous search, but in the reverse direction.\n\nESC-n  Repeat  previous  search, but crossing file boundaries.  The ef-\nfect is as if the previous search were modified by *.\n\nESC-N  Repeat previous search, but in the reverse direction and  cross-\ning file boundaries.\n\nESC-u  Undo  search  highlighting.   Turn  off  highlighting of strings\nmatching the current search pattern.  If highlighting is already\noff  because of a previous ESC-u command, turn highlighting back\non.  Any search command will also  turn  highlighting  back  on.\n(Highlighting can also be disabled by toggling the -G option; in\nthat case search commands do not turn highlighting back on.)\n\nESC-U  Like ESC-u but also clears the saved  search  pattern.   If  the\nstatus  column  is  enabled  via  the -J option, this clears all\nsearch matches marked in the status column.\n\n&pattern\nDisplay only lines which match the pattern; lines which  do  not\nmatch  the  pattern  are not displayed.  If pattern is empty (if\nyou type & immediately followed  by  ENTER),  any  filtering  is\nturned  off, and all lines are displayed.  While filtering is in\neffect, an ampersand  is  displayed  at  the  beginning  of  the\nprompt, as a reminder that some lines in the file may be hidden.\nMultiple & commands may be entered, in  which  case  only  lines\nwhich match all of the patterns will be displayed.\n\nCertain characters are special as in the / command:\n\n^N or !\nDisplay only lines which do NOT match the pattern.\n\n^R     Don't  interpret  regular expression metacharacters; that\nis, do a simple textual comparison.\n\n:e [filename]\nExamine a new file.  If the filename is missing,  the  \"current\"\nfile  (see  the :n and :p commands below) from the list of files\nin the command line is re-examined.  A percent sign (%)  in  the\nfilename  is  replaced by the name of the current file.  A pound\nsign (#) is replaced by the  name  of  the  previously  examined\nfile.   However,  two  consecutive  percent signs are simply re-\nplaced with a single percent sign.  This allows you to  enter  a\nfilename  that  contains a percent sign in the name.  Similarly,\ntwo consecutive pound signs are replaced  with  a  single  pound\nsign.   The  filename  is inserted into the command line list of\nfiles so that it can be seen by subsequent :n and  :p  commands.\nIf the filename consists of several files, they are all inserted\ninto the list of files and the first one is  examined.   If  the\nfilename contains one or more spaces, the entire filename should\nbe enclosed in double quotes (also see the -\" option).\n\n^X^V or E\nSame as :e.  Warning: some systems use ^V as a special  literal-\nization  character.  On such systems, you may not be able to use\n^V.\n\n:n     Examine the next file (from the list of files given in the  com-\nmand  line).   If a number N is specified, the N-th next file is\nexamined.\n\n:p     Examine the previous file in the command line list.  If a number\nN is specified, the N-th previous file is examined.\n\n:x     Examine  the first file in the command line list.  If a number N\nis specified, the N-th file in the list is examined.\n\n:d     Remove the current file from the list of files.\n\nt      Go to the next tag, if there were more than one matches for  the\ncurrent tag.  See the -t option for more details about tags.\n\nT      Go  to the previous tag, if there were more than one matches for\nthe current tag.\n\n= or ^G or :f\nPrints some information about the file being  viewed,  including\nits  name and the line number and byte offset of the bottom line\nbeing displayed.  If possible, it also prints the length of  the\nfile,  the  number  of  lines in the file and the percent of the\nfile above the last displayed line.\n\n-      Followed by one of the command line option letters (see  OPTIONS\nbelow),  this will change the setting of that option and print a\nmessage describing the new setting.  If a ^P (CONTROL-P) is  en-\ntered  immediately  after the dash, the setting of the option is\nchanged but no message is printed.  If the option letter  has  a\nnumeric  value (such as -b or -h), or a string value (such as -P\nor -t), a new value may be entered after the option letter.   If\nno  new  value is entered, a message describing the current set-\nting is printed and nothing is changed.\n\n--     Like the - command, but takes a long option  name  (see  OPTIONS\nbelow) rather than a single option letter.  You must press ENTER\nor RETURN after typing the option name.  A ^P immediately  after\nthe  second dash suppresses printing of a message describing the\nnew setting, as in the - command.\n\n-+     Followed by one of the command line option letters this will re-\nset  the  option  to its default setting and print a message de-\nscribing the new setting.  (The  \"-+X\"  command  does  the  same\nthing  as  \"-+X\"  on  the command line.)  This does not work for\nstring-valued options.\n\n--+    Like the -+ command, but takes a long option name rather than  a\nsingle option letter.\n\n-!     Followed  by  one  of the command line option letters, this will\nreset the option to the \"opposite\" of its  default  setting  and\nprint  a message describing the new setting.  This does not work\nfor numeric or string-valued options.\n\n--!    Like the -! command, but takes a long option name rather than  a\nsingle option letter.\n\n(Underscore.)   Followed  by one of the command line option let-\nters, this will print a message describing the  current  setting\nof that option.  The setting of the option is not changed.\n\n(Double underscore.)  Like the  (underscore) command, but takes\na long option name rather than a single option letter.  You must\npress ENTER or RETURN after typing the option name.\n\n+cmd   Causes  the specified cmd to be executed each time a new file is\nexamined.  For example, +G causes less to initially display each\nfile starting at the end rather than the beginning.\n\nV      Prints the version number of less being run.\n\nq or Q or :q or :Q or ZZ\nExits less.\n\nThe  following four commands may or may not be valid, depending on your\nparticular installation.\n\nv      Invokes an editor to edit the current file  being  viewed.   The\neditor is taken from the environment variable VISUAL if defined,\nor EDITOR if VISUAL is not defined, or defaults to \"vi\" if  nei-\nther  VISUAL  nor EDITOR is defined.  See also the discussion of\nLESSEDIT under the section on PROMPTS below.\n\n! shell-command\nInvokes a shell to run the shell-command given.  A percent  sign\n(%)  in the command is replaced by the name of the current file.\nA pound sign (#) is replaced by the name of the previously exam-\nined  file.   \"!!\"  repeats the last shell command.  \"!\" with no\nshell command simply invokes a  shell.   On  Unix  systems,  the\nshell  is taken from the environment variable SHELL, or defaults\nto \"sh\".  On MS-DOS and OS/2 systems, the shell  is  the  normal\ncommand processor.\n\n| <m> shell-command\n<m>  represents  any  mark letter.  Pipes a section of the input\nfile to the given shell command.  The section of the file to  be\npiped  is between the position marked by the letter and the cur-\nrent screen.  The entire current screen is included,  regardless\nof  whether  the  marked position is before or after the current\nscreen.  <m> may also be ^ or $ to indicate beginning or end  of\nfile  respectively.   If <m> is . or newline, the current screen\nis piped.\n\ns filename\nSave the input to a file.  This only works if  the  input  is  a\npipe, not an ordinary file.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "Command  line options are described below.  Most options may be changed\nwhile less is running, via the \"-\" command.\n\nMost options may be given in one of two forms: either a  dash  followed\nby  a  single  letter, or two dashes followed by a long option name.  A\nlong option name may be abbreviated as long as the abbreviation is  un-\nambiguous.   For  example, --quit-at-eof may be abbreviated --quit, but\nnot --qui, since both --quit-at-eof and --quiet begin with --qui.  Some\nlong  option names are in uppercase, such as --QUIT-AT-EOF, as distinct\nfrom --quit-at-eof.  Such option names need only have their first  let-\nter  capitalized; the remainder of the name may be in either case.  For\nexample, --Quit-at-eof is equivalent to --QUIT-AT-EOF.\n\nOptions are also taken from the environment variable \"LESS\".  For exam-\nple, to avoid typing \"less -options ...\" each time less is invoked, you\nmight tell csh:\n\nsetenv LESS \"-options\"\n\nor if you use sh:\n\nLESS=\"-options\"; export LESS\n\nOn MS-DOS, you don't need the quotes, but you should replace  any  per-\ncent signs in the options string by double percent signs.\n\nThe  environment variable is parsed before the command line, so command\nline options override the LESS environment variable.  If an option  ap-\npears in the LESS variable, it can be reset to its default value on the\ncommand line by beginning the command line option with \"-+\".\n\nSome options like -k or -D require a string to follow the  option  let-\nter.   The  string  for  that option is considered to end when a dollar\nsign ($) is found.  For example, you can set two -D options  on  MS-DOS\nlike this:\n\nLESS=\"Dn9.1$Ds4.1\"\n\nIf  the  --use-backslash  option appears earlier in the options, then a\ndollar sign or backslash may be included literally in an option  string\nby preceding it with a backslash.  If the --use-backslash option is not\nin effect, then backslashes are not treated specially, and there is  no\nway to include a dollar sign in the option string.\n\n-? or --help\nThis  option displays a summary of the commands accepted by less\n(the same as the h command).  (Depending on how your  shell  in-\nterprets  the  question  mark,  it may be necessary to quote the\nquestion mark, thus: \"-\\?\".)\n\n-a or --search-skip-screen\nBy default, forward searches start at the top of  the  displayed\nscreen  and  backwards  searches start at the bottom of the dis-\nplayed screen (except for repeated searches invoked by the n  or\nN  commands,  which  start after or before the \"target\" line re-\nspectively; see the -j option for more about the  target  line).\nThe  -a  option  causes forward searches to instead start at the\nbottom of the screen and backward searches to start at  the  top\nof the screen, thus skipping all lines displayed on the screen.\n\n-A or --SEARCH-SKIP-SCREEN\nCauses  all forward searches (not just non-repeated searches) to\nstart just after the target line, and all backward  searches  to\nstart  just before the target line.  Thus, forward searches will\nskip part of the displayed screen (from the first line up to and\nincluding  the  target line).  Similarly backwards searches will\nskip the displayed screen from the last line up to and including\nthe target line.  This was the default behavior in less versions\nprior to 441.\n\n-bn or --buffers=n\nSpecifies the amount of buffer space  less  will  use  for  each\nfile,  in  units of kilobytes (1024 bytes).  By default 64 KB of\nbuffer space is used for each file (unless the file is  a  pipe;\nsee  the  -B  option).   The  -b option specifies instead that n\nkilobytes of buffer space should be used for each file.  If n is\n-1,  buffer  space is unlimited; that is, the entire file can be\nread into memory.\n\n-B or --auto-buffers\nBy default, when data is read from a pipe, buffers are allocated\nautomatically as needed.  If a large amount of data is read from\nthe pipe, this can cause a large amount of memory  to  be  allo-\ncated.  The -B option disables this automatic allocation of buf-\nfers for pipes, so that only 64 KB (or the amount of space spec-\nified  by  the -b option) is used for the pipe.  Warning: use of\n-B can result in erroneous display, since only the most recently\nviewed  part  of  the  piped data is kept in memory; any earlier\ndata is lost.\n\n-c or --clear-screen\nCauses full screen repaints to be  painted  from  the  top  line\ndown.   By  default,  full screen repaints are done by scrolling\nfrom the bottom of the screen.\n\n-C or --CLEAR-SCREEN\nSame as -c, for compatibility with older versions of less.\n\n-d or --dumb\nThe -d option suppresses the error message normally displayed if\nthe  terminal is dumb; that is, lacks some important capability,\nsuch as the ability to clear the screen or scroll backward.  The\n-d  option  does  not otherwise change the behavior of less on a\ndumb terminal.\n\n-Dxcolor or --color=xcolor\nChanges the color of different parts of the displayed  text.   x\nis a single character which selects the type of text whose color\nis being set:\n\nB      Binary characters.\n\nC      Control characters.\n\nE      Errors and informational messages.\n\nM      Mark letters in the status column.\n\nN      Line numbers enabled via the -N option.\n\nP      Prompts.\n\nR      The rscroll character.\n\nS      Search results.\n\nW      The highlight enabled via the -w option.\n\nd      Bold text.\n\nk      Blinking text.\n\ns      Standout text.\n\nu      Underlined text.\n\nThe uppercase letters can be used only when the --use-color  op-\ntion is enabled.  When text color is specified by both an upper-\ncase letter and a lowercase letter, the uppercase  letter  takes\nprecedence.   For example, error messages are normally displayed\nas standout text.  So if both \"s\" and \"E\" are given a color, the\n\"E\"  color  applies to error messages, and the \"s\" color applies\nto other standout text.  The \"d\" and \"u\" letters refer  to  bold\nand  underline  text formed by overstriking with backspaces (see\nthe -u option), not to text using ANSI escape sequences with the\n-R option.\n\nA  lowercase letter may be followed by a + to indicate that both\nthe normal format change and the specified color should both  be\nused.  For example, -Dug displays underlined text as green with-\nout underlining; the green color has replaced the  usual  under-\nline  formatting.   But  -Du+g  displays underlined text as both\ngreen and in underlined format.\n\ncolor is either a 4-bit color string or an 8-bit color string:\n\nA 4-bit color string is zero, one or two characters,  where  the\nfirst  character  specifies  the foreground color and the second\nspecifies the background color as follows:\n\nb      Blue\n\nc      Cyan\n\ng      Green\n\nk      Black\n\nm      Magenta\n\nr      Red\n\nw      White\n\ny      Yellow\n\nThe corresponding upper-case letter denotes a brighter shade  of\nthe  color.   For example, -DNGk displays line numbers as bright\ngreen text on a black background, and -DEbR displays error  mes-\nsages  as blue text on a bright red background.  If either char-\nacter is a \"-\" or is omitted, the corresponding color is set  to\nthat of normal text.\n\nAn  8-bit  color string is one or two decimal integers separated\nby a dot, where the first integer specifies the foreground color\nand  the second specifies the background color.  Each integer is\na value between 0 and 255 inclusive which selects a  \"CSI  38;5\"\ncolor value (see\nhttps://en.wikipedia.org/wiki/ANSIescapecode#SGRparameters)\nIf either integer is a \"-\" or is omitted, the corresponding col-\nor  is  set to that of normal text.  On MS-DOS versions of less,\n8-bit color is not supported; instead, decimal values are inter-\npreted as 4-bit CHARINFO.Attributes values (see\nhttps://docs.microsoft.com/en-us/windows/console/char-info-str).\n\n-e or --quit-at-eof\nCauses  less  to  automatically  exit the second time it reaches\nend-of-file.  By default, the only way to exit less is  via  the\n\"q\" command.\n\n-E or --QUIT-AT-EOF\nCauses less to automatically exit the first time it reaches end-\nof-file.\n\n-f or --force\nForces non-regular files to be opened.  (A non-regular file is a\ndirectory  or a device special file.)  Also suppresses the warn-\ning message when a binary file is opened.  By default, less will\nrefuse to open non-regular files.  Note that some operating sys-\ntems will not allow directories to be read, even if -f is set.\n\n-F or --quit-if-one-screen\nCauses less to automatically exit if the entire file can be dis-\nplayed on the first screen.\n\n-g or --hilite-search\nNormally,  less  will highlight ALL strings which match the last\nsearch command.  The -g option changes this  behavior  to  high-\nlight  only  the  particular  string which was found by the last\nsearch command.  This can cause less to run somewhat faster than\nthe default.\n\n-G or --HILITE-SEARCH\nThe  -G  option  suppresses all highlighting of strings found by\nsearch commands.\n\n-hn or --max-back-scroll=n\nSpecifies a maximum number of lines to scroll backward.   If  it\nis necessary to scroll backward more than n lines, the screen is\nrepainted in a forward direction instead.  (If the terminal does\nnot have the ability to scroll backward, -h0 is implied.)\n\n-i or --ignore-case\nCauses searches to ignore case; that is, uppercase and lowercase\nare considered identical.  This option is ignored if any  upper-\ncase  letters appear in the search pattern; in other words, if a\npattern contains uppercase letters, then that  search  does  not\nignore case.\n\n-I or --IGNORE-CASE\nLike  -i,  but searches ignore case even if the pattern contains\nuppercase letters.\n\n-jn or --jump-target=n\nSpecifies a line on the screen where the \"target\" line is to  be\npositioned.   The  target line is the line specified by any com-\nmand to search for a pattern, jump to a line number, jump  to  a\nfile percentage or jump to a tag.  The screen line may be speci-\nfied by a number: the top line on the screen is 1, the  next  is\n2, and so on.  The number may be negative to specify a line rel-\native to the bottom of the screen: the bottom line on the screen\nis  -1, the second to the bottom is -2, and so on.  Alternately,\nthe screen line may be specified as a fraction of the height  of\nthe  screen,  starting with a decimal point: .5 is in the middle\nof the screen, .3 is three tenths down from the first line,  and\nso  on.  If the line is specified as a fraction, the actual line\nnumber is recalculated if the terminal  window  is  resized,  so\nthat  the  target  line remains at the specified fraction of the\nscreen height.  If any form of the -j option is  used,  repeated\nforward searches (invoked with \"n\" or \"N\") begin at the line im-\nmediately after the target line, and repeated backward  searches\nbegin at the target line, unless changed by -a or -A.  For exam-\nple, if \"-j4\" is used, the target line is the fourth line on the\nscreen,  so  forward  searches  begin  at  the fifth line on the\nscreen.  However nonrepeated searches (invoked with \"/\" or  \"?\")\nalways  begin  at the start or end of the current screen respec-\ntively.\n\n-J or --status-column\nDisplays a status column at the left edge of  the  screen.   The\nstatus  column  shows the lines that matched the current search,\nand any lines that are marked (via the m or M command).\n\n-kfilename or --lesskey-file=filename\nCauses less to open and interpret the named file as a lesskey(1)\nbinary  file.   Multiple  -k  options  may be specified.  If the\nLESSKEY or LESSKEYSYSTEM environment variable is set, or  if  a\nlesskey file is found in a standard place (see KEY BINDINGS), it\nis also used as a lesskey file.\n\n--lesskey-src=filename\nCauses less to open and interpret the named file as a lesskey(1)\nsource  file.   If the LESSKEYIN or LESSKEYINSYSTEM environment\nvariable is set, or if a lesskey source file is found in a stan-\ndard  place  (see  KEY  BINDINGS),  it is also used as a lesskey\nsource file.  Prior to version 582, the lesskey  program  needed\nto  be  run to convert a lesskey source file to a lesskey binary\nfile for less to use.  Newer versions of less read  the  lesskey\nsource  file  directly  and ignore the binary file if the source\nfile exists.\n\n-K or --quit-on-intr\nCauses less to exit immediately (with status 2) when  an  inter-\nrupt  character  (usually  ^C) is typed.  Normally, an interrupt\ncharacter causes less to stop whatever it is doing and return to\nits  command  prompt.  Note that use of this option makes it im-\npossible to return to the command prompt from the \"F\" command.\n\n-L or --no-lessopen\nIgnore the LESSOPEN environment variable  (see  the  INPUT  PRE-\nPROCESSOR  section  below).   This option can be set from within\nless, but it will apply only to files opened  subsequently,  not\nto the file which is currently open.\n\n-m or --long-prompt\nCauses  less  to  prompt verbosely (like more), with the percent\ninto the file.  By default, less prompts with a colon.\n\n-M or --LONG-PROMPT\nCauses less to prompt even more verbosely than more.\n\n-n or --line-numbers\nSuppresses line numbers.  The default (to use line numbers)  may\ncause  less  to run more slowly in some cases, especially with a\nvery large input file.  Suppressing line numbers with the -n op-\ntion  will  avoid  this  problem.  Using line numbers means: the\nline number will be displayed in the verbose prompt and in the =\ncommand,  and the v command will pass the current line number to\nthe editor (see also the discussion of LESSEDIT in  PROMPTS  be-\nlow).\n\n-N or --LINE-NUMBERS\nCauses  a  line  number to be displayed at the beginning of each\nline in the display.\n\n-ofilename or --log-file=filename\nCauses less to copy its input to the named file as it  is  being\nviewed.  This applies only when the input file is a pipe, not an\nordinary file.  If the file already exists, less  will  ask  for\nconfirmation before overwriting it.\n\n-Ofilename or --LOG-FILE=filename\nThe -O option is like -o, but it will overwrite an existing file\nwithout asking for confirmation.\n\nIf no log file has been specified, the -o and -O options can  be\nused  from  within  less  to specify a log file.  Without a file\nname, they will simply report the name of the log file.  The \"s\"\ncommand is equivalent to specifying -o from within less.\n\n-ppattern or --pattern=pattern\nThe  -p  option  on the command line is equivalent to specifying\n+/pattern; that is, it tells less to start at the  first  occur-\nrence of pattern in the file.\n\n-Pprompt or --prompt=prompt\nProvides  a  way  to  tailor the three prompt styles to your own\npreference.  This option would normally be put in the LESS envi-\nronment variable, rather than being typed in with each less com-\nmand.  Such an option must either be the last option in the LESS\nvariable, or be terminated by a dollar sign.\n-Ps  followed by a string changes the default (short) prompt to\nthat string.\n-Pm changes the medium (-m) prompt.\n-PM changes the long (-M) prompt.\n-Ph changes the prompt for the help screen.\n-P= changes the message printed by the = command.\n-Pw changes the message printed while waiting for data (in  the\nF command).\n\nAll  prompt strings consist of a sequence of letters and special\nescape sequences.  See the section on PROMPTS for more details.\n\n-q or --quiet or --silent\nCauses moderately \"quiet\" operation: the terminal  bell  is  not\nrung if an attempt is made to scroll past the end of the file or\nbefore the beginning of the file.  If the terminal has a \"visual\nbell\",  it  is  used  instead.  The bell will be rung on certain\nother errors, such as typing an invalid character.  The  default\nis to ring the terminal bell in all such cases.\n\n-Q or --QUIET or --SILENT\nCauses  totally  \"quiet\"  operation:  the terminal bell is never\nrung.  If the terminal has a \"visual bell\", it is  used  in  all\ncases where the terminal bell would have been rung.\n\n-r or --raw-control-chars\nCauses \"raw\" control characters to be displayed.  The default is\nto display control characters using the caret notation; for  ex-\nample,  a  control-A (octal 001) is displayed as \"^A\".  Warning:\nwhen the -r option is used, less cannot keep track of the actual\nappearance  of  the screen (since this depends on how the screen\nresponds to each type of control character).  Thus, various dis-\nplay  problems may result, such as long lines being split in the\nwrong place.\n\nUSE OF THE -r OPTION IS NOT RECOMMENDED.\n\n-R or --RAW-CONTROL-CHARS\nLike -r, but only ANSI \"color\" escape sequences and OSC 8 hyper-\nlink  sequences are output in \"raw\" form.  Unlike -r, the screen\nappearance is maintained correctly, provided that there  are  no\nescape  sequences  in  the file other than these types of escape\nsequences.  Color escape sequences are only supported  when  the\ncolor  is  changed  within one line, not across lines.  In other\nwords, the beginning of each line is assumed to be normal  (non-\ncolored),  regardless of any escape sequences in previous lines.\nFor the purpose of keeping track of screen appearance, these es-\ncape sequences are assumed to not move the cursor.\n\nOSC 8 hyperlinks are sequences of the form:\n\nESC ] 8 ; ... \\7\n\nThe  terminating  sequence may be either a BEL character (\\7) or\nthe two-character sequence \"ESC \\\".\n\nANSI color escape sequences are sequences of the form:\n\nESC [ ... m\n\nwhere the \"...\" is zero or more color specification  characters.\nYou  can  make less think that characters other than \"m\" can end\nANSI color escape sequences by setting the environment  variable\nLESSANSIENDCHARS to the list of characters which can end a color\nescape sequence.  And you can make less  think  that  characters\nother  than the standard ones may appear between the ESC and the\nm by setting the environment variable  LESSANSIMIDCHARS  to  the\nlist of characters which can appear.\n\n-s or --squeeze-blank-lines\nCauses  consecutive  blank  lines  to  be squeezed into a single\nblank line.  This is useful when viewing nroff output.\n\n-S or --chop-long-lines\nCauses lines longer than the screen width to be  chopped  (trun-\ncated) rather than wrapped.  That is, the portion of a long line\nthat does not fit in the screen width is not displayed until you\npress  RIGHT-ARROW.  The default is to wrap long lines; that is,\ndisplay the remainder on the next line.\n\n-ttag or --tag=tag\nThe -t option, followed immediately by a TAG, will edit the file\ncontaining  that tag.  For this to work, tag information must be\navailable; for example, there may be a file in the  current  di-\nrectory called \"tags\", which was previously built by ctags(1) or\nan equivalent command.  If the environment variable LESSGLOBALT-\nAGS  is  set, it is taken to be the name of a command compatible\nwith global(1), and that command is executed to  find  the  tag.\n(See  http://www.gnu.org/software/global/global.html).   The  -t\noption may also be specified from within less (using the -  com-\nmand)  as  a  way  of examining a new file.  The command \":t\" is\nequivalent to specifying -t from within less.\n\n-Ttagsfile or --tag-file=tagsfile\nSpecifies a tags file to be used instead of \"tags\".\n\n-u or --underline-special\nCauses backspaces and carriage returns to be treated  as  print-\nable  characters;  that  is,  they are sent to the terminal when\nthey appear in the input.\n\n-U or --UNDERLINE-SPECIAL\nCauses backspaces, tabs, carriage returns and \"formatting  char-\nacters\" (as defined by Unicode) to be treated as control charac-\nters; that is, they are handled as specified by the -r option.\n\nBy default, if neither -u nor -U is given, backspaces which  ap-\npear  adjacent to an underscore character are treated specially:\nthe underlined text is displayed using the  terminal's  hardware\nunderlining  capability.   Also, backspaces which appear between\ntwo identical characters are treated specially:  the  overstruck\ntext is printed using the terminal's hardware boldface capabili-\nty.  Other backspaces are  deleted,  along  with  the  preceding\ncharacter.   Carriage  returns immediately followed by a newline\nare deleted.  Other carriage returns are handled as specified by\nthe  -r option.  Unicode formatting characters, such as the Byte\nOrder Mark, are sent to the terminal.  Text which is  overstruck\nor underlined can be searched for if neither -u nor -U is in ef-\nfect.\n\n-V or --version\nDisplays the version number of less.\n\n-w or --hilite-unread\nTemporarily highlights the first  \"new\"  line  after  a  forward\nmovement of a full page.  The first \"new\" line is the line imme-\ndiately following the line  previously  at  the  bottom  of  the\nscreen.  Also highlights the target line after a g or p command.\nThe highlight is removed at the next command which causes  move-\nment.   The  entire line is highlighted, unless the -J option is\nin effect, in which case only the status column is highlighted.\n\n-W or --HILITE-UNREAD\nLike -w, but temporarily highlights the first new line after any\nforward movement command larger than one line.\n\n-xn,... or --tabs=n,...\nSets  tab  stops.  If only one n is specified, tab stops are set\nat multiples of n.  If multiple values separated by  commas  are\nspecified,  tab  stops are set at those positions, and then con-\ntinue with the same spacing  as  the  last  two.   For  example,\n-x9,17  will  set tabs at positions 9, 17, 25, 33, etc.  The de-\nfault for n is 8.\n\n-X or --no-init\nDisables sending the termcap initialization and deinitialization\nstrings  to  the  terminal.   This is sometimes desirable if the\ndeinitialization string does something unnecessary, like  clear-\ning the screen.\n\n-yn or --max-forw-scroll=n\nSpecifies a maximum number of lines to scroll forward.  If it is\nnecessary to scroll forward more than n lines, the screen is re-\npainted  instead.   The  -c  or -C option may be used to repaint\nfrom the top of the screen if desired.  By default, any  forward\nmovement causes scrolling.\n\n-zn or --window=n or -n\nChanges  the  default scrolling window size to n lines.  The de-\nfault is one screenful.  The z and w commands can also  be  used\nto  change the window size.  The \"z\" may be omitted for compati-\nbility with some versions of more.  If the number n is negative,\nit indicates n lines less than the current screen size.  For ex-\nample, if the screen is 24 lines, -z-4 sets the scrolling window\nto  20  lines.   If  the  screen  is  resized  to  40 lines, the\nscrolling window automatically changes to 36 lines.\n\n-\"cc or --quotes=cc\nChanges the filename quoting character.  This may  be  necessary\nif  you are trying to name a file which contains both spaces and\nquote characters.  Followed by a single character, this  changes\nthe  quote  character to that character.  Filenames containing a\nspace should then be surrounded by that character rather than by\ndouble  quotes.   Followed  by  two characters, changes the open\nquote to the first character, and the close quote to the  second\ncharacter.  Filenames containing a space should then be preceded\nby the open quote character and  followed  by  the  close  quote\ncharacter.   Note  that  even  after  the  quote  characters are\nchanged, this option remains -\" (a dash  followed  by  a  double\nquote).\n\n-~ or --tilde\nNormally lines after end of file are displayed as a single tilde\n(~).  This option causes lines after end of file to be displayed\nas blank lines.\n\n-# or --shift\nSpecifies the default number of positions to scroll horizontally\nin the RIGHTARROW and LEFTARROW commands.  If the number  speci-\nfied  is  zero,  it  sets the default number of positions to one\nhalf of the screen width.  Alternately, the number may be speci-\nfied  as  a fraction of the width of the screen, starting with a\ndecimal point: .5 is half of  the  screen  width,  .3  is  three\ntenths  of the screen width, and so on.  If the number is speci-\nfied as a fraction, the actual number of scroll positions is re-\ncalculated if the terminal window is resized, so that the actual\nscroll remains at the specified fraction of the screen width.\n",
            "subsections": [
                {
                    "name": "--file-size",
                    "content": "If --file-size is specified, less will determine the size of the\nfile  immediately  after opening the file.  Normally this is not\ndone, because it can be slow if the input file is large.\n",
                    "long": "--file-size"
                },
                {
                    "name": "--follow-name",
                    "content": "Normally, if the input file is renamed while an F command is ex-\necuting, less will continue to display the contents of the orig-\ninal file despite its name change.  If --follow-name  is  speci-\nfied,  during an F command less will periodically attempt to re-\nopen the file by name.  If the reopen succeeds and the file is a\ndifferent  file  from  the original (which means that a new file\nhas been created with the same name as  the  original  (now  re-\nnamed) file), less will display the contents of that new file.\n",
                    "long": "--follow-name"
                },
                {
                    "name": "--incsearch",
                    "content": "Subsequent  search commands will be \"incremental\"; that is, less\nwill advance to the next line containing the search  pattern  as\neach character of the pattern is typed in.\n",
                    "long": "--incsearch"
                },
                {
                    "name": "--line-num-width",
                    "content": "Sets  the minimum width of the line number field when the -N op-\ntion is in effect.  The default is 7 characters.\n",
                    "long": "--line-num-width"
                },
                {
                    "name": "--mouse",
                    "content": "Enables mouse input: scrolling the mouse wheel down  moves  for-\nward  in  the file, scrolling the mouse wheel up moves backwards\nin the file, and clicking the mouse sets the  \"#\"  mark  to  the\nline  where the mouse is clicked.  The number of lines to scroll\nwhen the wheel is moved can be set by the --wheel-lines  option.\nMouse  input works only on terminals which support X11 mouse re-\nporting, and on the Windows version of less.\n",
                    "long": "--mouse"
                },
                {
                    "name": "--MOUSE",
                    "content": "Like --mouse, except the direction scrolled on mouse wheel move-\nment is reversed.\n",
                    "long": "--MOUSE"
                },
                {
                    "name": "--no-keypad",
                    "content": "Disables  sending the keypad initialization and deinitialization\nstrings to the terminal.  This is sometimes useful if the keypad\nstrings make the numeric keypad behave in an undesirable manner.\n",
                    "long": "--no-keypad"
                },
                {
                    "name": "--no-histdups",
                    "content": "This  option  changes the behavior so that if a search string or\nfile name is typed in, and the same string  is  already  in  the\nhistory list, the existing copy is removed from the history list\nbefore the new one is added.  Thus, a given string  will  appear\nonly  once  in  the history list.  Normally, a string may appear\nmultiple times.\n",
                    "long": "--no-histdups"
                },
                {
                    "name": "--rscroll",
                    "content": "This option changes the character used to mark truncated  lines.\nIt may begin with a two-character attribute indicator like LESS-\nBINFMT does.  If there is no attribute  indicator,  standout  is\nused.  If set to \"-\", truncated lines are not marked.\n",
                    "long": "--rscroll"
                },
                {
                    "name": "--save-marks",
                    "content": "Save  marks  in  the  history file, so marks are retained across\ndifferent invocations of less.\n",
                    "long": "--save-marks"
                },
                {
                    "name": "--status-col-width",
                    "content": "Sets the width of the status column when the -J option is in ef-\nfect.  The default is 2 characters.\n",
                    "long": "--status-col-width"
                },
                {
                    "name": "--use-backslash",
                    "content": "This  option changes the interpretations of options which follow\nthis one.  After the --use-backslash option, any backslash in an\noption  string  is  removed and the following character is taken\nliterally.  This allows a dollar sign to be included  in  option\nstrings.\n",
                    "long": "--use-backslash"
                },
                {
                    "name": "--use-color",
                    "content": "Enables  the  colored text in various places.  The -D option can\nbe used to change the colors.  Colored text works  only  if  the\nterminal supports ANSI color escape sequences (as defined in EC-\nMA-48 SGR; see\nhttps://www.ecma-international.org/publications-and-\nstandards/standards/ecma-48).\n\n--wheel-lines=n\nSet  the  number  of  lines  to  scroll  when the mouse wheel is\nscrolled and the --mouse or --MOUSE option is  in  effect.   The\ndefault is 1 line.\n\n--     A  command  line  argument of \"--\" marks the end of option argu-\nments.  Any arguments following this are  interpreted  as  file-\nnames.  This can be useful when viewing a file whose name begins\nwith a \"-\" or \"+\".\n\n+      If a command line option begins with +, the  remainder  of  that\noption  is taken to be an initial command to less.  For example,\n+G tells less to start at the end of the file  rather  than  the\nbeginning,  and  +/xyz tells it to start at the first occurrence\nof \"xyz\" in the file.  As a special case,  +<number>  acts  like\n+<number>g; that is, it starts the display at the specified line\nnumber (however, see the caveat under the  \"g\"  command  above).\nIf the option starts with ++, the initial command applies to ev-\nery file being viewed, not just the first one.   The  +  command\ndescribed previously may also be used to set (or change) an ini-\ntial command for every file.\n",
                    "long": "--use-color"
                }
            ]
        },
        "LINE EDITING": {
            "content": "When entering a command line at the bottom of the screen (for  example,\na  filename  for  the :e command, or the pattern for a search command),\ncertain keys can be used to manipulate the command line.  Most commands\nhave  an alternate form in [ brackets ] which can be used if a key does\nnot exist on a particular keyboard.  (Note  that  the  forms  beginning\nwith  ESC do not work in some MS-DOS and Windows systems because ESC is\nthe line erase character.)  Any of these special keys  may  be  entered\nliterally  by  preceding  it with the \"literal\" character, either ^V or\n^A.  A backslash itself may also be entered literally by  entering  two\nbackslashes.\n\nLEFTARROW [ ESC-h ]\nMove the cursor one space to the left.\n\nRIGHTARROW [ ESC-l ]\nMove the cursor one space to the right.\n\n^LEFTARROW [ ESC-b or ESC-LEFTARROW ]\n(That  is, CONTROL and LEFTARROW simultaneously.)  Move the cur-\nsor one word to the left.\n\n^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]\n(That is, CONTROL and RIGHTARROW simultaneously.)  Move the cur-\nsor one word to the right.\n\nHOME [ ESC-0 ]\nMove the cursor to the beginning of the line.\n\nEND [ ESC-$ ]\nMove the cursor to the end of the line.\n\nBACKSPACE\nDelete  the  character  to the left of the cursor, or cancel the\ncommand if the command line is empty.\n\nDELETE or [ ESC-x ]\nDelete the character under the cursor.\n\n^BACKSPACE [ ESC-BACKSPACE ]\n(That is, CONTROL and  BACKSPACE  simultaneously.)   Delete  the\nword to the left of the cursor.\n\n^DELETE [ ESC-X or ESC-DELETE ]\n(That  is,  CONTROL and DELETE simultaneously.)  Delete the word\nunder the cursor.\n\nUPARROW [ ESC-k ]\nRetrieve the previous command line.  If  you  first  enter  some\ntext  and then press UPARROW, it will retrieve the previous com-\nmand which begins with that text.\n\nDOWNARROW [ ESC-j ]\nRetrieve the next command line.  If you first  enter  some  text\nand  then  press  DOWNARROW,  it  will retrieve the next command\nwhich begins with that text.\n\nTAB    Complete the partial filename to the left of the cursor.  If  it\nmatches  more than one filename, the first match is entered into\nthe command line.  Repeated  TABs  will  cycle  thru  the  other\nmatching filenames.  If the completed filename is a directory, a\n\"/\" is appended to the filename.  (On MS-DOS systems, a  \"\\\"  is\nappended.)   The  environment variable LESSSEPARATOR can be used\nto specify a different character to append to a directory name.\n\nBACKTAB [ ESC-TAB ]\nLike, TAB, but cycles in the reverse direction thru the matching\nfilenames.\n\n^L     Complete  the partial filename to the left of the cursor.  If it\nmatches more than one filename, all matches are entered into the\ncommand line (if they fit).\n\n^U (Unix and OS/2) or ESC (MS-DOS)\nDelete  the  entire  command  line, or cancel the command if the\ncommand line is empty.  If you have changed your line-kill char-\nacter in Unix to something other than ^U, that character is used\ninstead of ^U.\n\n^G     Delete the entire command line and return to the main prompt.\n",
            "subsections": []
        },
        "KEY BINDINGS": {
            "content": "You may define your own less commands  by  creating  a  lesskey  source\nfile.   This file specifies a set of command keys and an action associ-\nated with each key.  You may also change  the  line-editing  keys  (see\nLINE  EDITING),  and  to set environment variables.  If the environment\nvariable LESSKEYIN is set, less uses that as the name  of  the  lesskey\nsource file.  Otherwise, less looks in a standard place for the lesskey\nsource file: On Unix systems, less looks  for  a  lesskey  file  called\n\"$XDGCONFIGHOME/lesskey\"  or \"$HOME/.lesskey\".  On MS-DOS and Windows\nsystems, less looks for a lesskey file called \"$HOME/lesskey\", and  if\nit  is not found there, then looks for a lesskey file called \"lesskey\"\nin any directory specified in the PATH environment variable.   On  OS/2\nsystems,  less looks for a lesskey file called \"$HOME/lesskey.ini\", and\nif it is not found, then looks for a lesskey file called  \"lesskey.ini\"\nin  any directory specified in the INIT environment variable, and if it\nnot found there, then looks for a lesskey file called \"lesskey.ini\"  in\nany  directory  specified  in  the  PATH environment variable.  See the\nlesskey manual page for more details.\n\nA system-wide lesskey source file may also be set  up  to  provide  key\nbindings.   If a key is defined in both a local lesskey file and in the\nsystem-wide file, key bindings in the local file take  precedence  over\nthose   in   the   system-wide   file.   If  the  environment  variable\nLESSKEYINSYSTEM is set, less uses that as the name of the  system-wide\nlesskey  file.   Otherwise, less looks in a standard place for the sys-\ntem-wide lesskey file: On Unix systems, the system-wide lesskey file is\n/usr/local/etc/syslesskey.   (However, if less was built with a differ-\nent sysconf directory than /usr/local/etc, that directory is where  the\nsysless file is found.)  On MS-DOS and Windows systems, the system-wide\nlesskey file is  c:\\syslesskey.   On  OS/2  systems,  the  system-wide\nlesskey file is c:\\syslesskey.ini.\n\nPrevious versions of less (before v582) used lesskey files with a bina-\nry format, produced by the lesskey program. It is no  longer  necessary\nto use the lesskey program.\n",
            "subsections": []
        },
        "INPUT PREPROCESSOR": {
            "content": "You  may  define an \"input preprocessor\" for less.  Before less opens a\nfile, it first gives your input preprocessor a chance to modify the way\nthe  contents of the file are displayed.  An input preprocessor is sim-\nply an executable program (or shell script), which writes the  contents\nof the file to a different file, called the replacement file.  The con-\ntents of the replacement file are then displayed in place of  the  con-\ntents  of the original file.  However, it will appear to the user as if\nthe original file is opened; that is, less will  display  the  original\nfilename as the name of the current file.\n\nAn  input preprocessor receives one command line argument, the original\nfilename, as entered by the user.  It  should  create  the  replacement\nfile,  and when finished, print the name of the replacement file to its\nstandard output.  If the input preprocessor does not output a  replace-\nment  filename, less uses the original file, as normal.  The input pre-\nprocessor is not called when viewing standard input.  To set up an  in-\nput  preprocessor,  set  the LESSOPEN environment variable to a command\nline which will invoke your  input  preprocessor.   This  command  line\nshould  include  one  occurrence  of the string \"%s\", which will be re-\nplaced by the filename when the input preprocessor command is invoked.\n\nWhen less closes a file opened in such a way, it will call another pro-\ngram,  called  the  input  postprocessor, which may perform any desired\nclean-up action (such as  deleting  the  replacement  file  created  by\nLESSOPEN).  This program receives two command line arguments, the orig-\ninal filename as entered by the user, and the name of  the  replacement\nfile.   To set up an input postprocessor, set the LESSCLOSE environment\nvariable to a command line which will invoke your input  postprocessor.\nIt  may  include  two  occurrences of the string \"%s\"; the first is re-\nplaced with the original name of the file and the second with the  name\nof the replacement file, which was output by LESSOPEN.\n\nFor  example, on many Unix systems, these two scripts will allow you to\nkeep files in compressed format, but still let less view them directly:\n\nlessopen.sh:\n#! /bin/sh\ncase \"$1\" in\n*.Z) TEMPFILE=$(mktemp)\nuncompress -c $1  >$TEMPFILE  2>/dev/null\nif [ -s $TEMPFILE ]; then\necho $TEMPFILE\nelse\nrm -f $TEMPFILE\nfi\n;;\nesac\n\nlessclose.sh:\n#! /bin/sh\nrm $2\n\nTo use these scripts, put them both where they can be executed and  set\nLESSOPEN=\"lessopen.sh %s\",  and  LESSCLOSE=\"lessclose.sh %s %s\".   More\ncomplex LESSOPEN and LESSCLOSE scripts may be written to  accept  other\ntypes of compressed files, and so on.\n\nIt  is  also  possible to set up an input preprocessor to pipe the file\ndata directly to less, rather than putting the data into a  replacement\nfile.  This avoids the need to decompress the entire file before start-\ning to view it.  An input preprocessor that works this way is called an\ninput  pipe.   An input pipe, instead of writing the name of a replace-\nment file on its standard output, writes the entire contents of the re-\nplacement  file  on  its  standard  output.  If the input pipe does not\nwrite any characters on its standard output, then there is no  replace-\nment  file and less uses the original file, as normal.  To use an input\npipe, make the first character in the LESSOPEN environment  variable  a\nvertical  bar  (|)  to  signify that the input preprocessor is an input\npipe.  As with non-pipe input preprocessors, the  command  string  must\ncontain  one  occurrence  of %s, which is replaced with the filename of\nthe input file.\n\nFor example, on many Unix systems, this script will work like the  pre-\nvious example scripts:\n\nlesspipe.sh:\n#! /bin/sh\ncase \"$1\" in\n*.Z) uncompress -c $1  2>/dev/null\n;;\n*)   exit 1\n;;\nesac\nexit $?\n\nTo  use  this  script,  put  it  where  it  can  be  executed  and  set\nLESSOPEN=\"|lesspipe.sh %s\".\n\nNote that a preprocessor cannot output an empty file, since that is in-\nterpreted  as meaning there is no replacement, and the original file is\nused.  To avoid this, if LESSOPEN starts with two  vertical  bars,  the\nexit  status  of  the script becomes meaningful.  If the exit status is\nzero, the output is considered to be replacement text, even  if  it  is\nempty.   If  the  exit status is nonzero, any output is ignored and the\noriginal file is used.  For compatibility  with  previous  versions  of\nless, if LESSOPEN starts with only one vertical bar, the exit status of\nthe preprocessor is ignored.\n\nWhen an input pipe is used, a LESSCLOSE postprocessor can be used,  but\nit is usually not necessary since there is no replacement file to clean\nup.  In this case, the replacement file name passed  to  the  LESSCLOSE\npostprocessor is \"-\".\n\nFor  compatibility with previous versions of less, the input preproces-\nsor or pipe is not used if less is viewing standard input.  However, if\nthe  first  character of LESSOPEN is a dash (-), the input preprocessor\nis used on standard input as well as other files.  In  this  case,  the\ndash  is  not  considered  to  be part of the preprocessor command.  If\nstandard input is being viewed, the input preprocessor is passed a file\nname  consisting of a single dash.  Similarly, if the first two charac-\nters of LESSOPEN are vertical bar and dash (|-) or  two  vertical  bars\nand  a  dash (||-), the input pipe is used on standard input as well as\nother files.  Again, in this case the dash is not considered to be part\nof the input pipe command.\n",
            "subsections": []
        },
        "NATIONAL CHARACTER SETS": {
            "content": "There are three types of characters in the input file:\n\nnormal characters\ncan be displayed directly to the screen.\n\ncontrol characters\nshould  not  be displayed directly, but are expected to be found\nin ordinary text files (such as backspace and tab).\n\nbinary characters\nshould not be displayed directly and  are  not  expected  to  be\nfound in text files.\n\nA \"character set\" is simply a description of which characters are to be\nconsidered normal, control, and binary.   The  LESSCHARSET  environment\nvariable  may  be  used to select a character set.  Possible values for\nLESSCHARSET are:\n\nascii  BS, TAB, NL, CR, and formfeed are control characters, all  chars\nwith  values  between  32 and 126 are normal, and all others are\nbinary.\n\niso8859\nSelects an ISO 8859 character set.  This is the same  as  ASCII,\nexcept  characters  between  160  and  255 are treated as normal\ncharacters.\n\nlatin1 Same as iso8859.\n\nlatin9 Same as iso8859.\n\ndos    Selects a character set appropriate for MS-DOS.\n\nebcdic Selects an EBCDIC character set.\n\nIBM-1047\nSelects an EBCDIC character set used by  OS/390  Unix  Services.\nThis  is the EBCDIC analogue of latin1.  You get similar results\nby setting either LESSCHARSET=IBM-1047 or LCCTYPE=enUS in your\nenvironment.\n\nkoi8-r Selects a Russian character set.\n\nnext   Selects a character set appropriate for NeXT computers.\n\nutf-8  Selects  the  UTF-8  encoding  of  the  ISO 10646 character set.\nUTF-8 is special in that it supports  multi-byte  characters  in\nthe input file.  It is the only character set that supports mul-\nti-byte characters.\n\nwindows\nSelects a character set appropriate for  Microsoft  Windows  (cp\n1251).\n\nIn  rare cases, it may be desired to tailor less to use a character set\nother than the ones definable by LESSCHARSET.  In this case, the  envi-\nronment variable LESSCHARDEF can be used to define a character set.  It\nshould be set to a string where each character in the string represents\none  character  in  the character set.  The character \".\" is used for a\nnormal character, \"c\" for control, and \"b\" for binary.  A decimal  num-\nber  may  be  used  for  repetition.  For example, \"bccc4b.\" would mean\ncharacter 0 is binary, 1, 2 and 3 are control, 4, 5, 6 and 7 are  bina-\nry, and 8 is normal.  All characters after the last are taken to be the\nsame as the last, so characters 9 through 255 would be  normal.   (This\nis  an  example,  and does not necessarily represent any real character\nset.)\n\nThis table shows the value of LESSCHARDEF which is equivalent  to  each\nof the possible values for LESSCHARSET:\n\nascii      8bcccbcc18b95.b\ndos        8bcccbcc12bc5b95.b.\nebcdic     5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b\n9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.\nIBM-1047   4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc\n191.b\niso8859    8bcccbcc18b95.33b.\nkoi8-r     8bcccbcc18b95.b128.\nlatin1     8bcccbcc18b95.33b.\nnext       8bcccbcc18b95.bb125.bb\n\nIf  neither  LESSCHARSET nor LESSCHARDEF is set, but any of the strings\n\"UTF-8\", \"UTF8\", \"utf-8\" or \"utf8\" is found in the LCALL, LCCTYPE  or\nLANG environment variables, then the default character set is utf-8.\n\nIf that string is not found, but your system supports the setlocale in-\nterface, less will use setlocale to determine the character set.   set-\nlocale  is controlled by setting the LANG or LCCTYPE environment vari-\nables.\n\nFinally, if the setlocale interface is also not available, the  default\ncharacter set is latin1.\n\nControl  and  binary  characters  are  displayed  in  standout (reverse\nvideo).  Each such character is displayed in caret notation if possible\n(e.g.  ^A for control-A).  Caret notation is used only if inverting the\n0100 bit results in a normal printable character.  Otherwise, the char-\nacter  is displayed as a hex number in angle brackets.  This format can\nbe changed by setting the LESSBINFMT environment variable.   LESSBINFMT\nmay begin with a \"*\" and one character to select the display attribute:\n\"*k\" is blinking, \"*d\" is bold, \"*u\" is underlined, \"*s\"  is  standout,\nand  \"*n\"  is  normal.  If LESSBINFMT does not begin with a \"*\", normal\nattribute is assumed.  The remainder of LESSBINFMT is  a  string  which\nmay  include one printf-style escape sequence (a % followed by x, X, o,\nd, etc.).  For example, if LESSBINFMT is  \"*u[%x]\",  binary  characters\nare  displayed  in  underlined hexadecimal surrounded by brackets.  The\ndefault if no LESSBINFMT is specified is \"*s<%02X>\".  Warning: the  re-\nsult  of  expanding  the  character via LESSBINFMT must be less than 31\ncharacters.\n\nWhen the character set is utf-8, the LESSUTFBINFMT environment variable\nacts similarly to LESSBINFMT but it applies to Unicode code points that\nwere successfully decoded but are unsuitable for display  (e.g.,  unas-\nsigned  code  points).   Its  default  value is \"<U+%04lX>\".  Note that\nLESSUTFBINFMT and LESSBINFMT  share  their  display  attribute  setting\n(\"*x\")  so specifying one will affect both; LESSUTFBINFMT is read after\nLESSBINFMT so its setting, if any,  will  have  priority.   Problematic\noctets  in  a  UTF-8  file (octets of a truncated sequence, octets of a\ncomplete but non-shortest form  sequence,  invalid  octets,  and  stray\ntrailing  octets)  are displayed individually using LESSBINFMT so as to\nfacilitate diagnostic of how the UTF-8 file is ill-formed.\n",
            "subsections": []
        },
        "PROMPTS": {
            "content": "The -P option allows you to tailor the prompt to your preference.   The\nstring  given  to  the  -P option replaces the specified prompt string.\nCertain characters in the string are interpreted specially.  The prompt\nmechanism  is  rather complicated to provide flexibility, but the ordi-\nnary user need not understand the details of constructing  personalized\nprompt strings.\n\nA  percent sign followed by a single character is expanded according to\nwhat the following character is:\n\n%bX    Replaced by the byte offset into the current input file.  The  b\nis followed by a single character (shown as X above) which spec-\nifies the line whose byte offset is to be used.  If the  charac-\nter  is a \"t\", the byte offset of the top line in the display is\nused, an \"m\" means use the middle line, a \"b\" means use the bot-\ntom  line,  a \"B\" means use the line just after the bottom line,\nand a \"j\" means use the \"target\" line, as specified  by  the  -j\noption.\n\n%B     Replaced by the size of the current input file.\n\n%c     Replaced by the column number of the text appearing in the first\ncolumn of the screen.\n\n%dX    Replaced by the page number of a line in the  input  file.   The\nline to be used is determined by the X, as with the %b option.\n\n%D     Replaced  by  the  number of pages in the input file, or equiva-\nlently, the page number of the last line in the input file.\n\n%E     Replaced by the name of the editor (from the VISUAL  environment\nvariable,  or  the  EDITOR environment variable if VISUAL is not\ndefined).  See the discussion of the LESSEDIT feature below.\n\n%f     Replaced by the name of the current input file.\n\n%F     Replaced by the last component of the name of the current  input\nfile.\n\n%g     Replaced  by  the  shell-escaped name of the current input file.\nThis is useful when the expanded string will be used in a  shell\ncommand, such as in LESSEDIT.\n\n%i     Replaced  by  the index of the current file in the list of input\nfiles.\n\n%lX    Replaced by the line number of a line in the  input  file.   The\nline to be used is determined by the X, as with the %b option.\n\n%L     Replaced by the line number of the last line in the input file.\n\n%m     Replaced by the total number of input files.\n\n%pX    Replaced  by  the  percent into the current input file, based on\nbyte offsets.  The line used is determined by the X as with  the\n%b option.\n\n%PX    Replaced  by  the  percent into the current input file, based on\nline numbers.  The line used is determined by the X as with  the\n%b option.\n\n%s     Same as %B.\n\n%t     Causes  any  trailing spaces to be removed.  Usually used at the\nend of the string, but may appear anywhere.\n\n%T     Normally expands to the word \"file\".  However if  viewing  files\nvia  a  tags  list  using  the -t option, it expands to the word\n\"tag\".\n\n%x     Replaced by the name of the next input file in the list.\n\nIf any item is unknown (for example, the file size if input is a pipe),\na question mark is printed instead.\n\nThe  format  of  the  prompt string can be changed depending on certain\nconditions.  A question mark followed by a single character  acts  like\nan  \"IF\": depending on the following character, a condition is evaluat-\ned.  If the condition is true, any characters  following  the  question\nmark  and  condition  character,  up  to  a period, are included in the\nprompt.  If the condition is false, such characters are  not  included.\nA  colon appearing between the question mark and the period can be used\nto establish an \"ELSE\": any characters between the colon and the period\nare  included  in  the string if and only if the IF condition is false.\nCondition characters (which follow a question mark) may be:\n\n?a     True if any characters have been included in the prompt so far.\n\n?bX    True if the byte offset of the specified line is known.\n\n?B     True if the size of current input file is known.\n\n?c     True if the text is horizontally shifted (%c is not zero).\n\n?dX    True if the page number of the specified line is known.\n\n?e     True if at end-of-file.\n\n?f     True if there is an input filename (that is, if input is  not  a\npipe).\n\n?lX    True if the line number of the specified line is known.\n\n?L     True if the line number of the last line in the file is known.\n\n?m     True if there is more than one input file.\n\n?n     True if this is the first prompt in a new input file.\n\n?pX    True  if  the percent into the current input file, based on byte\noffsets, of the specified line is known.\n\n?PX    True if the percent into the current input file, based  on  line\nnumbers, of the specified line is known.\n\n?s     Same as \"?B\".\n\n?x     True  if there is a next input file (that is, if the current in-\nput file is not the last one).\n\nAny characters other than the special ones (question mark, colon, peri-\nod,  percent,  and backslash) become literally part of the prompt.  Any\nof the special characters may be included in the  prompt  literally  by\npreceding it with a backslash.\n\nSome examples:\n\n?f%f:Standard input.\n\nThis  prompt prints the filename, if known; otherwise the string \"Stan-\ndard input\".\n\n?f%f .?ltLine %lt:?pt%pt\\%:?btByte %bt:-...\n\nThis prompt would print the filename, if known.  The filename  is  fol-\nlowed  by  the  line  number, if known, otherwise the percent if known,\notherwise the byte offset if known.  Otherwise, a dash is printed.  No-\ntice  how each question mark has a matching period, and how the % after\nthe %pt is included literally by escaping it with a backslash.\n\n?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\\: %x..%t\";\n\nThis prints the filename if this is the first prompt in  a  file,  fol-\nlowed  by  the  \"file  N  of N\" message if there is more than one input\nfile.  Then, if we are at end-of-file, the string  \"(END)\"  is  printed\nfollowed  by  the name of the next file, if there is one.  Finally, any\ntrailing spaces are truncated.  This is the default prompt.  For refer-\nence,  here  are  the defaults for the other two prompts (-m and -M re-\nspectively).  Each is broken into two lines here for readability only.\n\n?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\\: %x.:\n?pB%pB\\%:byte %bB?s/%s...%t\n\n?f%f .?n?m(%T %i of %m) ..?ltlines %lt-%lb?L/%L. :\nbyte %bB?s/%s. .?e(END) ?x- Next\\: %x.:?pB%pB\\%..%t\n\nAnd here is the default message produced by the = command:\n\n?f%f .?m(%T %i of %m) .?ltlines %lt-%lb?L/%L. .\nbyte %bB?s/%s. ?e(END) :?pB%pB\\%..%t\n\nThe prompt expansion features are also used for another purpose: if  an\nenvironment  variable LESSEDIT is defined, it is used as the command to\nbe executed when the v command is invoked.  The LESSEDIT string is  ex-\npanded  in  the  same way as the prompt strings.  The default value for\nLESSEDIT is:\n\n%E ?lm+%lm. %g\n\nNote that this expands to the editor name, followed by a + and the line\nnumber,  followed  by the shell-escaped file name.  If your editor does\nnot accept the \"+linenumber\" syntax, or has other differences in  invo-\ncation  syntax, the LESSEDIT variable can be changed to modify this de-\nfault.\n",
            "subsections": []
        },
        "SECURITY": {
            "content": "When the environment variable LESSSECURE is set to 1, less  runs  in  a\n\"secure\" mode.  This means these features are disabled:\n\n!      the shell command\n\n|      the pipe command\n\n:e     the examine command.\n\nv      the editing command\n\ns  -o  log files\n\n-k     use of lesskey files\n\n-t     use of tags files\n\nmetacharacters in filenames, such as *\n\nfilename completion (TAB, ^L)\n\nLess can also be compiled to be permanently in \"secure\" mode.\n",
            "subsections": []
        },
        "COMPATIBILITY WITH MORE": {
            "content": "If the environment variable LESSISMORE is set to 1, or if the program\nis invoked via a file link named \"more\", less behaves (mostly) in  con-\nformance  with  the  POSIX \"more\" command specification.  In this mode,\nless behaves differently in these ways:\n\nThe -e option works differently.  If the -e option is not set, less be-\nhaves  as if the -e option were set.  If the -e option is set, less be-\nhaves as if the -E option were set.\n\nThe -m option works differently.  If the -m  option  is  not  set,  the\nmedium  prompt  is used, and it is prefixed with the string \"--More--\".\nIf the -m option is set, the short prompt is used.\n\nThe -n option acts like the -z option.  The normal behavior of  the  -n\noption is unavailable in this mode.\n\nThe  parameter  to  the  -p option is taken to be a less command rather\nthan a search pattern.\n\nThe LESS environment variable is  ignored,  and  the  MORE  environment\nvariable is used in its place.\n",
            "subsections": []
        },
        "ENVIRONMENT VARIABLES": {
            "content": "Environment variables may be specified either in the system environment\nas usual, or in a lesskey(1) file.  If environment  variables  are  de-\nfined in more than one place, variables defined in a local lesskey file\ntake precedence over variables defined in the system environment, which\ntake precedence over variables defined in the system-wide lesskey file.\n\nCOLUMNS\nSets the number of columns on the screen.  Takes precedence over\nthe number of columns specified by the TERM variable.   (But  if\nyou  have  a  windowing  system  which  supports  TIOCGWINSZ  or\nWIOCGETD, the window system's idea  of  the  screen  size  takes\nprecedence over the LINES and COLUMNS environment variables.)\n\nEDITOR The name of the editor (used for the v command).\n\nHOME   Name  of  the user's home directory (used to find a lesskey file\non Unix and OS/2 systems).\n\nHOMEDRIVE, HOMEPATH\nConcatenation of the HOMEDRIVE and  HOMEPATH  environment  vari-\nables is the name of the user's home directory if the HOME vari-\nable is not set (only in the Windows version).\n\nINIT   Name of the user's init directory (used to find a  lesskey  file\non OS/2 systems).\n\nLANG   Language for determining the character set.\n\nLCCTYPE\nLanguage for determining the character set.\n\nLESS   Options which are passed to less automatically.\n\nLESSANSIENDCHARS\nCharacters  which may end an ANSI color escape sequence (default\n\"m\").\n\nLESSANSIMIDCHARS\nCharacters which may appear between the ESC  character  and  the\nend   character  in  an  ANSI  color  escape  sequence  (default\n\"0123456789:;[?!\"'#%()*+ \".\n\nLESSBINFMT\nFormat for displaying non-printable, non-control characters.\n\nLESSCHARDEF\nDefines a character set.\n\nLESSCHARSET\nSelects a predefined character set.\n\nLESSCLOSE\nCommand line to invoke the (optional) input-postprocessor.\n\nLESSECHO\nName of the lessecho program (default \"lessecho\").  The lessecho\nprogram  is needed to expand metacharacters, such as * and ?, in\nfilenames on Unix systems.\n\nLESSEDIT\nEditor prototype string (used for the v command).   See  discus-\nsion under PROMPTS.\n\nLESSGLOBALTAGS\nName  of  the command used by the -t option to find global tags.\nNormally should be set to \"global\" if your system has the  glob-\nal(1) command.  If not set, global tags are not used.\n\nLESSHISTFILE\nName  of  the  history file used to remember search commands and\nshell commands between invocations of less.  If set  to  \"-\"  or\n\"/dev/null\",  a  history  file  is  not  used.   The  default is\n\"$XDGDATAHOME/lesshst\" or \"$HOME/.lesshst\"  on  Unix  systems,\n\"$HOME/lesshst\"    on    DOS    and    Windows    systems,   or\n\"$HOME/lesshst.ini\" or \"$INIT/lesshst.ini\" on OS/2 systems.\n\nLESSHISTSIZE\nThe maximum number of commands to save in the history file.  The\ndefault is 100.\n\nLESSKEYIN\nName of the default lesskey source file.\n\nLESSKEY\nName   of   the  default  lesskey  binary  file.  (Not  used  if\n\"$LESSKEYIN\" exists.)\n\nLESSKEYINSYSTEM\nName of the default system-wide lesskey source file.\n\nLESSKEYSYSTEM\nName of the default system-wide lesskey binary file.  (Not  used\nif \"$LESSKEYINSYSTEM\" exists.)\n\nLESSMETACHARS\nList  of characters which are considered \"metacharacters\" by the\nshell.\n\nLESSMETAESCAPE\nPrefix which less will add before each metacharacter in  a  com-\nmand  sent  to the shell.  If LESSMETAESCAPE is an empty string,\ncommands containing metacharacters will not  be  passed  to  the\nshell.\n\nLESSOPEN\nCommand line to invoke the (optional) input-preprocessor.\n\nLESSSECURE\nRuns less in \"secure\" mode.  See discussion under SECURITY.\n\nLESSSEPARATOR\nString  to  be  appended to a directory name in filename comple-\ntion.\n\nLESSUTFBINFMT\nFormat for displaying non-printable Unicode code points.\n\nLESSISMORE\nEmulate the more(1) command.\n\nLINES  Sets the number of lines on the screen.  Takes  precedence  over\nthe number of lines specified by the TERM variable.  (But if you\nhave a windowing system which supports TIOCGWINSZ  or  WIOCGETD,\nthe  window  system's  idea  of the screen size takes precedence\nover the LINES and COLUMNS environment variables.)\n\nMORE   Options which are passed to less automatically when  running  in\nmore compatible mode.\n\nPATH   User's  search  path  (used to find a lesskey file on MS-DOS and\nOS/2 systems).\n\nSHELL  The shell used to execute the ! command, as well  as  to  expand\nfilenames.\n\nTERM   The type of terminal on which less is being run.\n\nVISUAL The name of the editor (used for the v command).\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "lesskey(1)\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright (C) 1984-2021  Mark Nudelman\n\nless  is  part of the GNU project and is free software.  You can redis-\ntribute it and/or modify it under the terms of either (1) the GNU  Gen-\neral  Public  License  as published by the Free Software Foundation; or\n(2) the Less License.  See the file README in the less distribution for\nmore details regarding redistribution.  You should have received a copy\nof the GNU General Public License along with the source for  less;  see\nthe  file  COPYING.   If not, write to the Free Software Foundation, 59\nTemple Place, Suite 330, Boston, MA  02111-1307, USA.  You should  also\nhave received a copy of the Less License; see the file LICENSE.\n\nless is distributed in the hope that it will be useful, but WITHOUT ANY\nWARRANTY; without even the implied warranty of MERCHANTABILITY or  FIT-\nNESS  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\nmore details.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Mark Nudelman\nReport bugs at https://github.com/gwsw/less/issues.\nFor more information, see the less homepage at\nhttps://greenwoodsoftware.com/less\n\nVersion 590: 03 Jun 2021                    LESS(1)\nless(3perl)            Perl Programmers Reference Guide            less(3perl)\n",
            "subsections": []
        },
        "FOR MODULE AUTHORS": {
            "content": "less has been in the core as a \"joke\" module for ages now and it hasn't\nhad any real way to communicating any information to anything. Thanks\nto Nicholas Clark we have user pragmas (see perlpragma) and now \"less\"\ncan do something.\n\nYou can probably expect your users to be able to guess that they can\nrequest less CPU or memory or just \"less\" overall.\n\nIf the user didn't specify anything, it's interpreted as having used\nthe \"please\" tag. It's up to you to make this useful.\n\n# equivalent\nuse less;\nuse less 'please';\n\n\"BOOLEAN = less->of( FEATURE )\"\nThe class method \"less->of( NAME )\" returns a boolean to tell you\nwhether your user requested less of something.\n\nif ( less->of( 'CPU' ) ) {\n...\n}\nelsif ( less->of( 'memory' ) ) {\n\n}\n\n\"FEATURES = less->of()\"\nIf you don't ask for any feature, you get the list of features that the\nuser requested you to be nice to. This has the nice side effect that if\nyou don't respect anything in particular then you can just ask for it\nand use it like a boolean.\n\nif ( less->of ) {\n...\n}\nelse {\n...\n}\n",
            "subsections": []
        },
        "CAVEATS": {
            "content": "This probably does nothing.\nThis works only on 5.10+\nAt least it's backwards compatible in not doing much.\n\nperl v5.34.0                      2026-06-23                       less(3perl)",
            "subsections": []
        }
    },
    "summary": "less - opposite of more",
    "flags": [
        {
            "flag": "",
            "long": "--file-size",
            "arg": null,
            "description": "If --file-size is specified, less will determine the size of the file immediately after opening the file. Normally this is not done, because it can be slow if the input file is large."
        },
        {
            "flag": "",
            "long": "--follow-name",
            "arg": null,
            "description": "Normally, if the input file is renamed while an F command is ex- ecuting, less will continue to display the contents of the orig- inal file despite its name change. If --follow-name is speci- fied, during an F command less will periodically attempt to re- open the file by name. If the reopen succeeds and the file is a different file from the original (which means that a new file has been created with the same name as the original (now re- named) file), less will display the contents of that new file."
        },
        {
            "flag": "",
            "long": "--incsearch",
            "arg": null,
            "description": "Subsequent search commands will be \"incremental\"; that is, less will advance to the next line containing the search pattern as each character of the pattern is typed in."
        },
        {
            "flag": "",
            "long": "--line-num-width",
            "arg": null,
            "description": "Sets the minimum width of the line number field when the -N op- tion is in effect. The default is 7 characters."
        },
        {
            "flag": "",
            "long": "--mouse",
            "arg": null,
            "description": "Enables mouse input: scrolling the mouse wheel down moves for- ward in the file, scrolling the mouse wheel up moves backwards in the file, and clicking the mouse sets the \"#\" mark to the line where the mouse is clicked. The number of lines to scroll when the wheel is moved can be set by the --wheel-lines option. Mouse input works only on terminals which support X11 mouse re- porting, and on the Windows version of less."
        },
        {
            "flag": "",
            "long": "--MOUSE",
            "arg": null,
            "description": "Like --mouse, except the direction scrolled on mouse wheel move- ment is reversed."
        },
        {
            "flag": "",
            "long": "--no-keypad",
            "arg": null,
            "description": "Disables sending the keypad initialization and deinitialization strings to the terminal. This is sometimes useful if the keypad strings make the numeric keypad behave in an undesirable manner."
        },
        {
            "flag": "",
            "long": "--no-histdups",
            "arg": null,
            "description": "This option changes the behavior so that if a search string or file name is typed in, and the same string is already in the history list, the existing copy is removed from the history list before the new one is added. Thus, a given string will appear only once in the history list. Normally, a string may appear multiple times."
        },
        {
            "flag": "",
            "long": "--rscroll",
            "arg": null,
            "description": "This option changes the character used to mark truncated lines. It may begin with a two-character attribute indicator like LESS- BINFMT does. If there is no attribute indicator, standout is used. If set to \"-\", truncated lines are not marked."
        },
        {
            "flag": "",
            "long": "--save-marks",
            "arg": null,
            "description": "Save marks in the history file, so marks are retained across different invocations of less."
        },
        {
            "flag": "",
            "long": "--status-col-width",
            "arg": null,
            "description": "Sets the width of the status column when the -J option is in ef- fect. The default is 2 characters."
        },
        {
            "flag": "",
            "long": "--use-backslash",
            "arg": null,
            "description": "This option changes the interpretations of options which follow this one. After the --use-backslash option, any backslash in an option string is removed and the following character is taken literally. This allows a dollar sign to be included in option strings."
        },
        {
            "flag": "",
            "long": "--use-color",
            "arg": null,
            "description": "Enables the colored text in various places. The -D option can be used to change the colors. Colored text works only if the terminal supports ANSI color escape sequences (as defined in EC- MA-48 SGR; see https://www.ecma-international.org/publications-and- standards/standards/ecma-48). --wheel-lines=n Set the number of lines to scroll when the mouse wheel is scrolled and the --mouse or --MOUSE option is in effect. The default is 1 line. -- A command line argument of \"--\" marks the end of option argu- ments. Any arguments following this are interpreted as file- names. This can be useful when viewing a file whose name begins with a \"-\" or \"+\". + If a command line option begins with +, the remainder of that option is taken to be an initial command to less. For example, +G tells less to start at the end of the file rather than the beginning, and +/xyz tells it to start at the first occurrence of \"xyz\" in the file. As a special case, +<number> acts like +<number>g; that is, it starts the display at the specified line number (however, see the caveat under the \"g\" command above). If the option starts with ++, the initial command applies to ev- ery file being viewed, not just the first one. The + command described previously may also be used to set (or change) an ini- tial command for every file."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "lesskey",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/lesskey/1/json"
        }
    ]
}