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

FreeBSD Manual Pages

  
 
  

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

NAME
     cless - opposite of more

SYNOPSIS
     cless -?
     cless -V
     cless [-[+]aBcCdeEfgGiImMnNqQrsSuUVwX]
	  [-b bufs] [-h lines] [-j line] [-k keyfile]
	  [-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
	  [-T tagsfile] [-x tab] [-y lines] [-[z] lines]
	  [+[+]cmd] [filename]...

DESCRIPTION
     Less  is  a program similar to more (1), but which allows backward movement
     in the file as well as forward movement.  Also, cless does not have to read
     the entire input file before starting, so with large input files it  starts
     up faster than text editors like vi (1).  Less uses termcap (or terminfo on
     some systems), so it can run on a variety of terminals.  There is even lim-
     ited  support for hardcopy terminals.  (On a hardcopy terminal, lines which
     should be printed at the top of the screen are prefixed with a caret.)

     Commands are based on both more and vi.  Commands may be preceded by a dec-
     imal number, called N in the descriptions below.  The  number  is	used  by
     some commands, as indicated.

COMMANDS
     In  the following descriptions, ^X means control-X.  ESC stands for the ES-
     CAPE key; for example ESC-v means the two character sequence "ESCAPE", then
     "v".

     h or H Help: display a summary of these commands.	If you	forget	all  the
	    other commands, remember this one.

     SPACE or ^V or f or ^F
	    Scroll  forward  N	lines, default one window (see option -z below).
	    If N is more than the screen size, only the final screenful is  dis-
	    played.   Warning:	some  systems use ^V as a special literalization
	    character.

     z	    Like SPACE, but if N is specified, it becomes the new window size.

     RETURN or ^N or e or ^E or j or ^J
	    Scroll forward N lines, default 1.	The  entire  N	lines  are  dis-
	    played, even if N is more than the screen size.

     d or ^DScroll  forward  N lines, default one half of the screen size.  If N
	    is specified, it becomes the new default for subsequent d and u com-
	    mands.

     b or ^B or ESC-v
	    Scroll backward N lines, default one window (see option  -z  below).
	    If	N is more than the screen size, only the final screenful is dis-
	    played.

     w	    Like ESC-v, but if N is specified, it becomes the new window size.

     y or ^Y or ^P or k or ^K
	    Scroll backward N lines, default 1.  The entire  N	lines  are  dis-
	    played,  even if N is more than the screen size.  Warning: some sys-
	    tems use ^Y as a special job control character.

     u or ^UScroll backward N lines, default one half of the screen size.  If  N
	    is specified, it becomes the new default for subsequent d and u com-
	    mands.

     r or ^R or ^L
	    Repaint the screen.

     R	    Repaint  the  screen,  discarding any buffered input.  Useful if the
	    file is changing while it is being viewed.

     F	    Scroll forward, and keep trying to read when  the  end  of	file  is
	    reached.   Normally  this  command would be used when already at the
	    end of the file.  It is a way to monitor the tail of a file which is
	    growing while it is being viewed.  (The behavior is similar  to  the
	    "tail -f" command.)

     g or < or ESC-<
	    Go	to line N in the file, default 1 (beginning of file).  (Warning:
	    this may be slow if N is large.)

     G or > or ESC->
	    Go to line N in the file, default the end of  the  file.   (Warning:
	    this  may  be slow if N is large, or if N is not specified and stan-
	    dard input, rather than a file, is being read.)

     p or % Go to a position N percent into the file.  N should be between 0 and
	    100.  (This works if standard input is being read, but only if cless
	    has already read to the end of the file.  It is always fast, but not
	    always useful.)

     {	    If a left curly bracket appears in the top	line  displayed  on  the
	    screen,  the  { command will go to the matching right curly bracket.
	    The matching right curly bracket is positioned on the bottom line of
	    the screen.  If there is more than one left curly bracket on the top
	    line, a number N may be used to specify  the  N-th	bracket  on  the
	    line.

     }	    If a right curly bracket appears in the bottom line displayed on the
	    screen,  the  }  command will go to the matching left curly bracket.
	    The matching left curly bracket is positioned on the top line of the
	    screen.  If there is more than one right curly bracket  on	the  top
	    line,  a  number  N  may  be used to specify the N-th bracket on the
	    line.

     (	    Like {, but applies to parentheses rather than curly brackets.

     )	    Like }, but applies to parentheses rather than curly brackets.

     [	    Like {, but applies to square brackets rather than curly brackets.

     ]	    Like }, but applies to square brackets rather than curly brackets.

     ESC-^F Followed by two characters, acts like {, but uses the two characters
	    as open and close brackets, respectively.  For example, "ESC ^F < >"
	    could be used to go forward to the > which matches the < in the  top
	    displayed line.

     ESC-^B Followed by two characters, acts like }, but uses the two characters
	    as open and close brackets, respectively.  For example, "ESC ^B < >"
	    could  be  used  to  go backward to the < which matches the > in the
	    bottom displayed line.

     m	    Followed by any lowercase letter, marks the  current  position  with
	    that letter.

     '	    (Single  quote.)   Followed  by any lowercase letter, returns to the
	    position which was previously marked with that letter.  Followed  by
	    another  single  quote,  returns  to  the position at which the last
	    "large" movement command was executed.  Followed by a ^ or $,  jumps
	    to	the  beginning	or end of the file respectively.  Marks are pre-
	    served when a new file is examined, so the ' command can be used  to
	    switch between input files.

     ^X^X   Same as single quote.

     /pattern
	    Search forward in the file for the N-th line containing the pattern.
	    N defaults to 1.  The pattern is a regular expression, as recognized
	    by	ed.  The search starts at the second line displayed (but see the
	    -a and -j options, which change this).

	    Certain characters are special if entered at the  beginning  of  the
	    pattern;  they  modify the type of search rather than become part of
	    the pattern:

	    !	   Search for lines which do NOT match the pattern.

	    *	   Search multiple files.  That is, if the  search  reaches  the
		   end	of  the current file without finding a match, the search
		   continues in the next file in the command line list.

	    @	   Begin the search at the first line of the first file  in  the
		   command  line list, regardless of what is currently displayed
		   on the screen or the settings of the -a or -j options.

     ?pattern
	    Search backward in the file for the N-th line  containing  the  pat-
	    tern.  The search starts at the line immediately before the top line
	    displayed.

	    Certain characters are special as in the / command:

	    !	   Search for lines which do NOT match the pattern.

	    *	   Search  multiple  files.   That is, if the search reaches the
		   beginning of the current file without finding  a  match,  the
		   search  continues  in  the  previous file in the command line
		   list.

	    @	   Begin the search at the last line of the  last  file  in  the
		   command  line list, regardless of what is currently displayed
		   on the screen or the settings of the -a or -j options.

     ESC-/pattern
	    Same as "/*".

     ESC-?pattern
	    Same as "?*".

     n	    Repeat previous search, for N-th line containing the  last	pattern.
	    If the previous search was modified by !, the search is made for the
	    N-th  line	NOT  containing the pattern.  If the previous search was
	    modified by *, the search continues in the next (or  previous)  file
	    if	not  satisfied	in  the current file.  There is no effect if the
	    previous search was modified by @.

     N	    Repeat previous search, but in the reverse direction.

     ESC-n  Repeat previous search, but crossing file boundaries.  The effect is
	    as if the previous search were modified by *.

     ESC-N  Repeat previous search, but in the reverse	direction  and	crossing
	    file boundaries.

     ESC-u  Undo search highlighting.  Turn off highlighting of strings matching
	    the  current search pattern.  If highlighting is already off because
	    of a previous ESC-u command, turn highlighting back on.  Any  search
	    command will also turn highlighting back on.  (Highlighting can also
	    be disabled by toggling the -G flag; in that case search commands do
	    not turn highlighting back on.)

     :e [filename]
	    Examine  a new file.  If the filename is missing, the "current" file
	    (see the :n and :p commands below) from the list  of  files  in  the
	    command  line is re-examined.  A percent sign (%) in the filename is
	    replaced by the name of the current file.  A pound sign (#)  is  re-
	    placed by the name of the previously examined file.  The filename is
	    inserted  into the command line list of files so that it can be seen
	    by subsequent :n and :p commands.  If the filename consists of  sev-
	    eral  files,  they	are  all inserted into the list of files and the
	    first one is examined.

     ^X^V or E
	    Same as :e.  Warning: some systems use ^V as a  special  literaliza-
	    tion character.

     :n     Examine  the  next file (from the list of files given in the command
	    line).  If a number N is specified, the N-th next file is examined.

     :p     Examine the previous file in the command line list.  If a  number  N
	    is specified, the N-th previous file is examined.

     :x     Examine  the  first file in the command line list.	If a number N is
	    specified, the N-th file in the list is examined.

     = or ^G or :f
	    Prints some information about the file being viewed,  including  its
	    name  and  the  line number and byte offset of the bottom line being
	    displayed.	If possible, it also prints the length of the file,  the
	    number  of	lines  in the file and the percent of the file above the
	    last displayed line.

     -	    Followed by one of the command line option letters (see below), this
	    will change the setting of that option and print a message	describ-
	    ing the new setting.  If the option letter has a numeric value (such
	    as	-b or -h), or a string value (such as -P or -t), a new value may
	    be entered after the option letter.  If no new value is  entered,  a
	    message  describing  the  current  setting is printed and nothing is
	    changed.

     -+     Followed by one of the command line option letters (see below), this
	    will reset the option to its default setting and print a message de-
	    scribing the new setting.  (The "-+X" command does the same thing as
	    "-+X" on the command line.)  This does not	work  for  string-valued
	    options.

     --     Followed by one of the command line option letters (see below), this
	    will  reset  the option to the "opposite" of its default setting and
	    print a message describing the new setting.  (The "--X" command does
	    the same thing as "-X" on the command line.)  This does not work for
	    numeric or string-valued options.

     _	    (Underscore.)  Followed by one of the command  line  option  letters
	    (see  below),  this will print a message describing the current set-
	    ting of that option.  The setting of the option is not changed.

     +cmd   Causes the specified cmd to be executed each time a new file is  ex-
	    amined.  For example, +G causes cless to initially display each file
	    starting at the end rather than the beginning.

     V	    Prints the version number of cless being run.

     q or :q or :Q or ZZ
	    Exits cless.

     The  following  three  commands  may or may not be valid, depending on your
     particular installation.

     v	    Invokes an editor to edit the current file being viewed.  The editor
	    is taken from the environment variable VISUAL if defined, or  EDITOR
	    if	VISUAL is not defined, or defaults to "vi" if neither VISUAL nor
	    EDITOR is defined.	See also the discussion of  LESSEDIT  under  the
	    section on PROMPTS below.

     ! shell-command
	    Invokes  a shell to run the shell-command given.  A percent sign (%)
	    in the command is replaced by the name of the current file.  A pound
	    sign (#) is replaced by the name of the  previously  examined  file.
	    "!!" repeats the last shell command.  "!" with no shell command sim-
	    ply  invokes a shell.  In all cases, the shell is taken from the en-
	    vironment variable SHELL, or defaults to "sh".

     | <m> shell-command
	    <m> represents any mark letter.  Pipes a section of the  input  file
	    to	the given shell command.  The section of the file to be piped is
	    between the first line on the current screen and the position marked
	    by the letter.  <m> may also be ^ or $ to indicate beginning or  end
	    of file respectively.  If <m> is . or newline, the current screen is
	    piped.

OPTIONS
     Command  line  options  are  described  below.  Most options may be changed
     while cless is running, via the "-" command.

     Options are also taken from the environment variable "LESS".  For	example,
     to  avoid typing "cless -options ..." each time cless is invoked, you might
     tell csh:

     setenv LESS "-options"

     or if you use sh:

     LESS="-options"; export LESS

     The environment variable is parsed before the command line, so command line
     options override the LESS environment variable.  If an  option  appears  in
     the  LESS	variable,  it can be reset to its default on the command line by
     beginning the command line option with "-+".

     A dollar sign ($) may be used to signal the end of an option string.   This
     is important only for options like -P which take a following string.

     -?     This  option  displays  a  summary of the commands accepted by cless
	    (the same as the h command).  If this option is given, all other op-
	    tions are ignored, and cless exits after the help screen is  viewed.
	    (Depending on how your shell interprets the question mark, it may be
	    necessary to quote the question mark, thus: "-\?".)

     -a     Causes  searches  to  start  after	the  last  line displayed on the
	    screen, thus skipping all lines displayed on  the  screen.	 By  de-
	    fault, searches start at the second line on the screen (or after the
	    last found line; see the -j option).

     -bn    Specifies  the  number  of	buffers  cless	will  use for each file.
	    Buffers are 1K, and by default 10 buffers are  used  for  each  file
	    (except  if  the  file  is a pipe; see the -B option).  The number n
	    specifies a different number of buffers to use.

     -B     By default, when data is read from a pipe, buffers are allocated au-
	    tomatically as needed.  If a large amount of data is read  from  the
	    pipe,  this can cause a large amount of memory to be allocated.  The
	    -B option disables this automatic allocation of buffers  for  pipes,
	    so	that  only  the number of buffers specified by the -b option are
	    used.  Warning: use of -B can result  in  erroneous  display,  since
	    only  the  most  recently viewed part of the file is kept in memory;
	    any earlier data is lost.

     -c     Causes full screen repaints to be painted from the	top  line  down.
	    By default, full screen repaints are done by scrolling from the bot-
	    tom of the screen.

     -C     The -C option is like -c, but the screen is cleared before it is re-
	    painted.

     -d     The -d option suppresses the error message normally displayed if the
	    terminal  is dumb; that is, lacks some important capability, such as
	    the ability to clear the screen or scroll backward.  The  -d  option
	    does not otherwise change the behavior of cless on a dumb terminal).

     -Dxcolor
	    [MS-DOS  only]  Sets the color of the text displayed.  x is a single
	    character which selects the type of text whose color is  being  set:
	    n=normal,  s=standout,  d=bold,  u=underlined,  k=blink.  color is a
	    pair of numbers separated by a period.  The first number selects the
	    foreground color and the second selects the background color of  the
	    text.  A single number N is the same as N.0.

     -e     Causes  cless  to automatically exit the second time it reaches end-
	    of-file.  By default, the only way to exit cless is via the "q" com-
	    mand.

     -E     Causes cless to automatically exit the first time it reaches end-of-
	    file.

     -f     Forces non-regular files to be opened.  (A non-regular file is a di-
	    rectory or a device special file.)	Also suppresses the warning mes-
	    sage when a binary file is opened.	By default, cless will refuse to
	    open non-regular files.

     -g     Normally, cless will highlight ALL	strings  which	match  the  last
	    search command.  The -g flag changes this behavior to highlight only
	    the  particular  string  which was found by the last search command.
	    This can cause cless to run somewhat faster than the default.

     -G     The -G flag suppresses all highlighting of strings found  by  search
	    commands.

     -hn    Specifies  a  maximum  number of lines to scroll backward.	If it is
	    necessary to scroll backward more than n lines, the  screen  is  re-
	    painted  in  a forward direction instead.  (If the terminal does not
	    have the ability to scroll backward, -h0 is implied.)

     -i     Causes searches to ignore case; that is, uppercase and lowercase are
	    considered identical.  This option is ignored if any uppercase  let-
	    ters appear in the search pattern; in other words, if a pattern con-
	    tains uppercase letters, then that search does not ignore case.

     -I     Like  -i,  but searches ignore case even if the pattern contains up-
	    percase letters.

     -jn    Specifies a line on the screen where the "target" line is to be  po-
	    sitioned.  A target line is the object of a text search, tag search,
	    jump  to  a  line  number,	jump  to a file percentage, or jump to a
	    marked position.  The screen line is specified by a number: the  top
	    line  on  the screen is 1, the next is 2, and so on.  The number may
	    be negative to specify a line relative to the bottom of the  screen:
	    the bottom line on the screen is -1, the second to the bottom is -2,
	    and so on.	If the -j option is used, searches begin at the line im-
	    mediately after the target line.  For example, if "-j4" is used, the
	    target  line  is the fourth line on the screen, so searches begin at
	    the fifth line on the screen.

     -kfilename
	    Causes cless to open and interpret the named file as a clesskey  (1)
	    file.   Multiple  -k  options  may	be  specified.	If a file called
	    .cless exists in the user's home directory, this file is  also  used
	    as a clesskey file.

     -m     Causes  cless to prompt verbosely (like more), with the percent into
	    the file.  By default, cless prompts with a colon.

     -M     Causes cless to prompt even more verbosely than more.

     -n     Suppresses line numbers.  The default  (to	use  line  numbers)  may
	    cause cless to run more slowly in some cases, especially with a very
	    large  input  file.   Suppressing line numbers with the -n flag will
	    avoid this problem.  Using line numbers means: the line number  will
	    be	displayed  in the verbose prompt and in the = command, and the v
	    command will pass the current line number to the  editor  (see  also
	    the discussion of LESSEDIT in PROMPTS below).

     -N     Causes  a  line number to be displayed at the beginning of each line
	    in the display.

     -ofilename
	    Causes cless to copy its input to the named  file  as  it  is  being
	    viewed.  This applies only when the input file is a pipe, not an or-
	    dinary file.  If the file already exists, cless will ask for confir-
	    mation before overwriting it.

     -Ofilename
	    The  -O  option  is  like -o, but it will overwrite an existing file
	    without asking for confirmation.

	    If no log file has been specified, the -o and -O options can be used
	    from within cless to specify a log file.  Without a file name,  they
	    will  simply  report  the  name of the log file.  The "s" command is
	    equivalent to specifying -o from within cless.

     -ppattern
	    The -p option on the command line is equivalent to specifying +/pat-
	    tern; that is, it tells cless to start at the  first  occurrence  of
	    pattern in the file.

     -Pprompt
	    Provides a way to tailor the three prompt styles to your own prefer-
	    ence.   This  option  would  normally be put in the LESS environment
	    variable, rather than being typed in with each cless command.   Such
	    an option must either be the last option in the LESS variable, or be
	    terminated	by  a  dollar sign.  -P followed by a string changes the
	    default (short) prompt to that string.  -Pm changes the medium  (-m)
	    prompt  to	the string, and -PM changes the long (-M) prompt.  Also,
	    -P= changes the message printed  by  the  =  command  to  the  given
	    string.   All  prompt  strings  consist of a sequence of letters and
	    special escape sequences.  See the section on PROMPTS for  more  de-
	    tails.

     -q     Causes  moderately	"quiet" operation: the terminal bell is not rung
	    if an attempt is made to scroll past the end of the file  or  before
	    the  beginning of the file.  If the terminal has a "visual bell", it
	    is used instead.  The bell will be rung  on  certain  other  errors,
	    such  as  typing  an  invalid character.  The default is to ring the
	    terminal bell in all such cases.

     -Q     Causes totally "quiet" operation: the terminal bell is never rung.

     -r     Causes "raw" control characters to be displayed.  The default is  to
	    display  control characters using the caret notation; for example, a
	    control-A (octal 001) is displayed as "^A".  Warning:  when  the  -r
	    flag  is  used,  cless cannot keep track of the actual appearance of
	    the screen (since this depends on how the screen  responds	to  each
	    type  of control character).  Thus, various display problems may re-
	    sult, such as long lines being split in the wrong place.

     -s     Causes consecutive blank lines to be squeezed into	a  single  blank
	    line.  This is useful when viewing nroff output.

     -S     Causes  lines longer than the screen width to be chopped rather than
	    folded.  That is, the remainder of a long line is simply  discarded.
	    The default is to fold long lines; that is, display the remainder on
	    the next line.

     -ttag  The  -t  option,  followed	immediately by a TAG, will edit the file
	    containing that tag.  For this to work, there must be a file  called
	    "tags"  in	the current directory, which was previously built by the
	    ctags (1) command.	This option may also be  specified  from  within
	    cless  (using  the - command) as a way of examining a new file.  The
	    command ":t" is equivalent to specifying -t from within cless.

     -Ttagsfile
	    Specifies a tags file to be used instead of "tags".

     -u     Causes backspaces and carriage returns to be  treated  as  printable
	    characters;  that is, they are sent to the terminal when they appear
	    in the input.

     -U     Causes backspaces and carriage returns  to	be  treated  as  control
	    characters; that is, they are handled as specified by the -r option.

	    By	default,  if neither -u nor -U is given, backspaces which appear
	    adjacent to an underscore character are treated specially:	the  un-
	    derlined text is displayed using the terminal's hardware underlining
	    capability.   Also,  backspaces  which  appear between two identical
	    characters are treated specially: the overstruck text is printed us-
	    ing the terminal's hardware boldface capability.   Other  backspaces
	    are  deleted,  along with the preceding character.	Carriage returns
	    immediately followed by a newline are deleted.  Other  carriage  re-
	    turns  are	handled  as  specified	by the -r option.  Text which is
	    overstruck or underlined can be searched for if neither -u nor -U is
	    in effect.

     -V     Displays the version number of cless.

     -w     Causes blank lines to be used to represent lines past the end of the
	    file.  By default, a tilde character (~) is used.

     -xn    Sets tab stops every n positions.  The default for n is 8.

     -X     Disables sending the  termcap  initialization  and	deinitialization
	    strings  to the terminal.  This is sometimes desirable if the deini-
	    tialization string does something  unnecessary,  like  clearing  the
	    screen.

     -yn    Specifies  a  maximum  number  of lines to scroll forward.	If it is
	    necessary to scroll forward more than n lines,  the  screen  is  re-
	    painted  instead.	The  -c or -C option may be used to repaint from
	    the top of the screen if desired.  By default, any forward	movement
	    causes scrolling.

     -[z]n  Changes  the  default scrolling window size to n lines.  The default
	    is one screenful.  The z and w commands can also be used  to  change
	    the  window  size.	 The  "z"  may be omitted for compatibility with
	    more.  If the number n is negative, it indicates n lines  less  than
	    the  current  screen  size.  For example, if the screen is 24 lines,
	    -z-4 sets the scrolling window to 20 lines.  If the  screen  is  re-
	    sized  to 40 lines, the scrolling window automatically changes to 36
	    lines.

     +	    If a command line option begins with +, the remainder of that option
	    is taken to be an initial command to cless.  For example,  +G  tells
	    cless to start at the end of the file rather than the beginning, and
	    +/xyz  tells  it  to  start  at the first occurrence of "xyz" in the
	    file.  As a special case, +<number> acts like +<number>g;  that  is,
	    it starts the display at the specified line number (however, see the
	    caveat  under the "g" command above).  If the option starts with ++,
	    the initial command applies to every file being viewed, not just the
	    first one.	The + command described previously may also be	used  to
	    set (or change) an initial command for every file.

LINE EDITING
     When  entering  command  line  at	the bottom of the screen (for example, a
     filename for the :e command, or the pattern for a search command),  certain
     keys can be used to manipulate the command line.  Most commands have an al-
     ternate form in [ brackets ] which can be used if a key does not exist on a
     particular  keyboard.   (The bracketed forms do not work in the MS-DOS ver-
     sion.)  Any of these special keys may be entered literally by preceding  it
     with the "literal" character, either ^V or ^A.  A backslash itself may also
     be entered literally by entering two backslashes.

     LEFTARROW [ ESC-h ]
	    Move the cursor one space to the left.

     RIGHTARROW [ ESC-l ]
	    Move the cursor one space to the right.

     ^LEFTARROW [ ESC-b or ESC-LEFTARROW ]
	    (That  is,	CONTROL  and LEFTARROW simultaneously.)  Move the cursor
	    one word to the left.

     ^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]
	    (That is, CONTROL and RIGHTARROW simultaneously.)  Move  the  cursor
	    one word to the right.

     HOME [ ESC-0 ]
	    Move the cursor to the beginning of the line.

     END [ ESC-$ ]
	    Move the cursor to the end of the line.

     BACKSPACE
	    Delete  the  character to the left of the cursor, or cancel the com-
	    mand if the command line is empty.

     DELETE or [ ESC-x ]
	    Delete the character under the cursor.

     ^BACKSPACE [ ESC-BACKSPACE ]
	    (That is, CONTROL and BACKSPACE simultaneously.)  Delete the word to
	    the left of the cursor.

     ^DELETE [ ESC-X or ESC-DELETE ]
	    (That is, CONTROL and DELETE simultaneously.)  Delete the word under
	    the cursor.

     UPARROW [ ESC-k ]
	    Retrieve the previous command line.

     DOWNARROW [ ESC-j ]
	    Retrieve the next command line.

     TAB    Complete the partial filename to the left  of  the	cursor.   If  it
	    matches  more than one filename, the first match is entered into the
	    command line.  Repeated TABs will  cycle  thru  the  other	matching
	    filenames.

     BACKTAB [ ESC-TAB ]
	    Like,  TAB,  but  cycles  in the reverse direction thru the matching
	    filenames.

     ^L     Complete the partial filename to the left  of  the	cursor.   If  it
	    matches  more  than  one  filename, all matches are entered into the
	    command line (if they fit).

     ^U (Unix) or ESC (MS-DOS)
	    Delete the entire command line, or cancel the command if the command
	    line is empty.  If you have changed your line-kill character in Unix
	    to something other than ^U, that character is used instead of ^U.

KEY BINDINGS
     You may define your own cless commands by using the program clesskey (1) to
     create a file called ".cless" in your home directory.  This file  specifies
     a set of command keys and an action associated with each key.  You may also
     use  clesskey  to change the line-editing keys (see LINE EDITING).  See the
     clesskey manual page for more details.

INPUT PREPROCESSOR
     You may define an "input preprocessor" for cless.	 Before  cless	opens  a
     file, it first gives your input preprocessor a chance to modify the way the
     contents of the file are displayed.  An input preprocessor is simply an ex-
     ecutable  program	(or shell script), which writes the contents of the file
     to a different file, called the replacement file.	The contents of the  re-
     placement	file are then displayed in place of the contents of the original
     file.  However, it will appear to the user  as  if  the  original	file  is
     opened;  that  is,  cless will display the original filename as the name of
     the current file.

     An input preprocessor receives one  command  line	argument,  the	original
     filename,	as  entered by the user.  It should create the replacement file,
     and when finished, print the name of the replacement file to  its	standard
     output.   If the input preprocessor does not output a replacement filename,
     cless uses the original file, as normal.  The  input  preprocessor  is  not
     called  when  viewing standard input.  To set up an input preprocessor, set
     the LESSOPEN environment variable to a command line which will invoke  your
     input preprocessor.  This command line should include one occurrence of the
     string  "%s",  which  will  be replaced by the filename when the input pre-
     processor command is invoked.

     When cless closes a file opened in such a way, it will  call  another  pro-
     gram,  called the input postprocessor, which may perform any desired clean-
     up action (such as deleting the  replacement  file  created  by  LESSOPEN).
     This  program receives two command line arguments, the original filename as
     entered by the user, and the name of the replacement file.  To  set  up  an
     input  postprocessor,  set  the LESSCLOSE environment variable to a command
     line which will invoke your input postprocessor.  It may include two occur-
     rences of the string "%s"; the first is replaced with the original name  of
     the  file	and  the second with the name of the replacement file, which was
     output by LESSOPEN.

     For example, on many Unix systems, these two scripts will allow you to keep
     files in compressed format, but still let cless view them directly:

     clessopen.sh:
	  #! /bin/sh
	  case "$1" in
	  *.Z) uncompress -c $1  >/tmp/cless.$$  2>/dev/null
	       if [ -s /tmp/cless.$$ ]; then
		    echo /tmp/cless.$$
	       else
		    rm -f /tmp/cless.$$
	       fi
	       ;;
	  esac

     lessclose.sh:
	  #! /bin/sh
	  rm $2

     To use these scripts, put them both where they  can  be  executed	and  set
     LESSOPEN="lessopen.sh %s",  and  LESSCLOSE="lessclose.sh %s %s".  More com-
     plex LESSOPEN and LESSCLOSE scripts may be written to accept other types of
     compressed files, and so on.

     It is also possible to set up an input preprocessor to pipe the  file  data
     directly  to  cless,  rather than putting the data into a replacement file.
     This avoids the need to decompress the entire file before starting to  view
     it.  An input preprocessor that works this way is called an input pipe.  An
     input  pipe, instead of writing the name of a replacement file on its stan-
     dard output, writes the entire contents of  the  replacement  file  on  its
     standard  output.	 If  the input pipe does not write any characters on its
     standard output, then there is no replacement file and cless uses the orig-
     inal file, as normal.  To use an input pipe, make the  first  character  in
     the  LESSOPEN  environment  variable a vertical bar (|) to signify that the
     input preprocessor is an input pipe.

     For example, on many Unix systems, this script will work like the	previous
     example scripts:

     lesspipe.sh:
	  !# /bin/sh
	  case "$1" in
	  *.Z) uncompress -c $1  2>/dev/null
	       ;;
	  esac

     To   use	this   script,	 put  it  where  it  can  be  executed	and  set
     LESSOPEN="|lesspipe.sh %s".  When an input pipe is used, a LESSCLOSE  post-
     processor	can  be  used, but it is usually not necessary since there is no
     replacement file to clean up.  In this  case,  the  replacement  file  name
     passed to the LESSCLOSE postprocessor is "-".

NATIONAL CHARACTER SETS
     There are three types of characters in the input file:

     normal characters
	    can be displayed directly to the screen.

     control characters
	    should  not  be  displayed directly, but are expected to be found in
	    ordinary text files (such as backspace and tab).

     binary characters
	    should not be displayed directly and are not expected to be found in
	    text files.

     A "character set" is simply a description of which  characters  are  to  be
     considered  normal, control, and binary.  The LESSCHARSET environment vari-
     able may be used to select a character  set.   Possible  values  for  LESS-
     CHARSET are:

     ascii  The  default  character set.  BS, TAB, NL, CR, and formfeed are con-
	    trol characters, all chars with values between 127 and 255	are  bi-
	    nary, and all others are normal.

     latin1 Selects the ISO 8859/1 character set.  latin-1 is the same as ASCII,
	    except  characters between 161 and 255 are treated as normal charac-
	    ters.

     dos    Selects a character set appropriate for MS-DOS.

     koi8-r Selects a Russian character set.

     next   Selects a character set appropriate for NeXT computers.

     In special cases, it may be desired to tailor cless to use a character  set
     other  than  the ones definable by LESSCHARSET.  In this case, the environ-
     ment variable LESSCHARDEF can be used to define a character set.  It should
     be set to a string where each character in the string represents one  char-
     acter in the character set.  The character "." is used for a normal charac-
     ter, "c" for control, and "b" for binary.	A decimal number may be used for
     repetition.   For example, "bccc4b." would mean character 0 is binary, 1, 2
     and 3 are control, 4, 5, 6 and 7 are binary, and 8 is normal.  All  charac-
     ters  after  the last are taken to be the same as the last, so characters 9
     through 255 would be normal.  (This is an example, and does not necessarily
     represent any real character set.)

     This table shows the value of LESSCHARDEF which is equivalent  to	each  of
     the possible values for LESSCHARSET:

	  ascii     8bcccbcc18b95.b
	  latin1    8bcccbcc18b95.33b.
	  dos	    8bcccbcc12bc5b95.b.
	  koi8-r    8bcccbcc18b95.b128.
	  next	    8bcccbcc18b95.bb125.bb

     If neither LESSCHARSET nor LESSCHARDEF is set, but your system supports the
     setlocale	interface,  cless  will use setlocale to determine the character
     set.  setlocale is controlled by setting the LANG or  LC_CTYPE  environment
     variables.

     Control  and  binary  characters are displayed in standout (reverse video).
     Each such character is displayed in caret notation if possible (e.g. ^A for
     control-A).  Caret notation is used only if inverting the 0100 bit  results
     in  a normal printable character.	Otherwise, the character is displayed as
     a hex number in angle brackets.  This format can be changed by setting  the
     LESSBINFMT  environment  variable.  LESSBINFMT may begin with a "*" and one
     character to select the display attribute: "*k" is blinking, "*d" is  bold,
     "*u"  is underlined, "*s" is standout.  If LESSBINFMT does not begin with a
     "*", normal attribute is assumed.	The remainder of LESSBINFMT is a  string
     which  may  include one printf-style escape sequence (a % followed by x, X,
     o, d, etc.).  For example, if LESSBINFMT is "*u[%x]", binary characters are
     displayed in underlined hexadecimal surrounded by brackets.  The default if
     no LESSBINFMT is specified is "*d<%X>".

PROMPTS
     The -P option allows you to tailor the  prompt  to  your  preference.   The
     string  given  to the -P option replaces the specified prompt string.  Cer-
     tain characters in the string are interpreted specially.  The prompt mecha-
     nism is rather complicated to provide flexibility, but  the  ordinary  user
     need  not	understand  the  details  of  constructing  personalized  prompt
     strings.

     A percent sign followed by a single character is expanded according to what
     the following character is:

     %bX    Replaced by the byte offset into the current input file.  The  b  is
	    followed  by  a  single character (shown as X above) which specifies
	    the line whose byte offset is to be used.  If  the	character  is  a
	    "t",  the byte offset of the top line in the display is used, an "m"
	    means use the middle line, a "b" means use the bottom  line,  a  "B"
	    means  use	the line just after the bottom line, and a "j" means use
	    the "target" line, as specified by the -j option.

     %B     Replaced by the size of the current input file.

     %E     Replaced by the name of the  editor  (from	the  VISUAL  environment
	    variable,  or  the	EDITOR environment variable if VISUAL is not de-
	    fined).  See the discussion of the LESSEDIT feature below.

     %f     Replaced by the name of the current input file.

     %i     Replaced by the index of the current  file	in  the  list  of  input
	    files.

     %lX    Replaced  by  the line number of a line in the input file.	The line
	    to be used is determined by the X, as with the %b option.

     %L     Replaced by the line number of the last line in the input file.

     %m     Replaced by the total number of input files.

     %pX    Replaced by the percent into the current input file.  The line  used
	    is determined by the X as with the %b option.

     %s     Same as %B.

     %t     Causes  any  trailing spaces to be removed.  Usually used at the end
	    of the string, but may appear anywhere.

     %x     Replaced by the name of the next input file in the list.

     If any item is unknown (for example, the file size if input is a  pipe),  a
     question mark is printed instead.

     The  format of the prompt string can be changed depending on certain condi-
     tions.  A question mark followed by a single character acts like  an  "IF":
     depending	on  the  following  character, a condition is evaluated.  If the
     condition is true, any characters following the question mark and condition
     character, up to a period, are included in the prompt.  If the condition is
     false, such characters are not included.  A  colon  appearing  between  the
     question  mark and the period can be used to establish an "ELSE": any char-
     acters between the colon and the period are included in the string  if  and
     only  if  the  IF condition is false.  Condition characters (which follow a
     question mark) may be:

     ?a     True if any characters have been included in the prompt so far.

     ?bX    True if the byte offset of the specified line is known.

     ?B     True if the size of current input file is known.

     ?e     True if at end-of-file.

     ?f     True if there is an input filename (that  is,  if  input  is  not  a
	    pipe).

     ?lX    True if the line number of the specified line is known.

     ?L     True if the line number of the last line in the file is known.

     ?m     True if there is more than one input file.

     ?n     True if this is the first prompt in a new input file.

     ?pX    True  if  the  percent  into the current input file of the specified
	    line is known.

     ?s     Same as "?B".

     ?x     True if there is a next input file (that is, if  the  current  input
	    file is not the last one).

     Any  characters  other than the special ones (question mark, colon, period,
     percent, and backslash) become literally part of the prompt.   Any  of  the
     special  characters may be included in the prompt literally by preceding it
     with a backslash.

     Some examples:

     ?f%f:Standard input.

     This prompt prints the filename, if known; otherwise the  string  "Standard
     input".

     ?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...

     This  prompt  would print the filename, if known.	The filename is followed
     by the line number, if known, otherwise the percent if known, otherwise the
     byte offset if known.  Otherwise, a dash is printed.  Notice how each ques-
     tion mark has a matching period, and how the % after the  %pt  is	included
     literally by escaping it with a backslash.

     ?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x..%t

     This prints the filename if this is the first prompt in a file, followed by
     the  "file  N of N" message if there is more than one input file.	Then, if
     we are at end-of-file, the string "(END)" is printed followed by  the  name
     of  the next file, if there is one.  Finally, any trailing spaces are trun-
     cated.  This is the default prompt.  For reference, here are  the	defaults
     for  the  other  two prompts (-m and -M respectively).  Each is broken into
     two lines here for readability only.

     ?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x.:
	  ?pB%pB\%:byte %bB?s/%s...%t

     ?f%f .?n?m(file %i of %m) ..?ltline %lt?L/%L. :byte %bB?s/%s. .
	  ?e(END) ?x- Next\: %x.:?pB%pB\%..%t

     And here is the default message produced by the = command:

     ?f%f .?m(file %i of %m) .?ltline %lt?L/%L. .
	  byte %bB?s/%s. ?e(END) :?pB%pB\%..%t

     The prompt expansion features are also used for another purpose: if an  en-
     vironment variable LESSEDIT is defined, it is used as the command to be ex-
     ecuted  when  the v command is invoked.  The LESSEDIT string is expanded in
     the same way as the prompt strings.  The default value for LESSEDIT is:

	  %E ?lm+%lm. %f

     Note that this expands to the editor name, followed by a  +  and  the  line
     number,  followed	by  the  file  name.  If your editor does not accept the
     "+linenumber" syntax, or has other differences in	invocation  syntax,  the
     LESSEDIT variable can be changed to modify this default.

ENVIRONMENT VARIABLES
     COLUMNSSets the number of columns on the screen.  Takes precedence over the
	    number  of columns specified by the TERM variable.	(But if you have
	    a windowing system which supports TIOCGWINSZ or WIOCGETD, the window
	    system's idea of the screen size takes precedence over the LINES and
	    COLUMNS environment variables.)

     EDITOR The name of the editor (used for the v command).

     HOME   Name of the user's home directory (used to find a .cless file).

     LANG   Language for determining the character set.

     LC_CTYPE
	    Language for determining the character set.

     LESS   Flags which are passed to cless automatically.

     LESSBINFMT
	    Format for displaying non-printable, non-control characters.

     LESSCHARDEF
	    Defines a character set.

     LESSCHARSET
	    Selects a predefined character set.

     LESSCLOSE
	    Command line to invoke the (optional) input-postprocessor.

     LESSEDIT
	    Editor prototype string (used for the v  command).	 See  discussion
	    under PROMPTS.

     LESSHELP
	    Name of the help file.

     LESSOPEN
	    Command line to invoke the (optional) input-preprocessor.

     LINES  Sets  the  number of lines on the screen.  Takes precedence over the
	    number of lines specified by the TERM variable.

     SHELL  The shell used to execute the ! command, as well as to expand  file-
	    names.

     TERM   The type of terminal on which cless is being run.

     VISUAL The name of the editor (used for the v command).

SEE ALSO
     clesskey(1) less(1)

WARNINGS
     The  = command and prompts (unless changed by -P) report the line number of
     the line at the top of the screen, but the byte and percent of the line  at
     the bottom of the screen.

     If  the :e command is used to name more than one file, and one of the named
     files has been viewed previously, the new files may  be  entered  into  the
     list in an unexpected order.

     On certain older terminals (the so-called "magic cookie" terminals), search
     highlighting  will  cause	an erroneous display.  On such terminals, search
     highlighting is disabled by default to avoid possible problems.

     In certain cases, when search highlighting is enabled and a search  pattern
     begins with a ^, more text than the matching string may be highlighted.

COPYRIGHT
     Copyright (c) 1984,1985,1989,1994,1995  Mark Nudelman

									 LESS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cless&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help