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 move-
       ment 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 limited 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
       decimal 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
       ESCAPE  key;  for  example  ESC-v means the two character sequence "ES-
       CAPE", 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 be-
	      low).  If	N is more than the screen size,	only the final screen-
	      ful is displayed.	 Warning: some systems use  ^V	as  a  special
	      literalization character.

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

       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 ^D
	      Scroll forward N lines, default one half of the screen size.  If
	      N	 is specified, it becomes the new default for subsequent d and
	      u	commands.

       b or ^B or ESC-v
	      Scroll backward N	lines, default one window (see option  -z  be-
	      low).  If	N is more than the screen size,	only the final screen-
	      ful is displayed.

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

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

       u or ^U
	      Scroll  backward	N  lines, default one half of the screen size.
	      If N is specified, it becomes the	new default for	 subsequent  d
	      and u commands.

       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).	(Warn-
	      ing: 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.	(Warn-
	      ing:  this  may  be slow if N is large, or if N is not specified
	      and standard 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	brack-
	      ets.

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

       ESC-^F Followed	by two characters, acts	like {,	but uses the two char-
	      acters 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	 char-
	      acters  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.  Fol-
	      lowed 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	preserved when a new file is examined, so the  '  com-
	      mand 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 pat-
	      tern.  N defaults	to 1.  The pattern is a	regular	expression, as
	      recognized  by  ed.   The	 search	starts at the second line dis-
	      played (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
	      pattern.	 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 dis-
		     played on the screen or the settings of the -a or -j  op-
		     tions.

       ESC-/pattern
	      Same as "/*".

       ESC-?pattern
	      Same as "?*".

       n      Repeat  previous	search,	for N-th line containing the last pat-
	      tern.  If	the previous search was	modified by !, the  search  is
	      made  for	the N-th line NOT containing the pattern.  If the pre-
	      vious 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 ef-
	      fect is as if the	previous search	were modified by *.

       ESC-N  Repeat previous search, but in the reverse direction and	cross-
	      ing 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  replaced  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 several 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  literal-
	      ization character.

       :n     Examine  the next	file (from the list of files given in the com-
	      mand 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
	      describing 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 describing 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 set-
	      ting 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 let-
	      ters (see	below),	this will print	a message describing the  cur-
	      rent  setting  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
	      examined.	  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 nei-
	      ther 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 exam-
	      ined  file.   "!!"  repeats the last shell command.  "!" with no
	      shell command simply invokes a shell.  In	all cases,  the	 shell
	      is  taken	 from  the  environment	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 indi-
	      cate beginning or	end of file respectively.  If <m> is . or new-
	      line, 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 exam-
       ple,  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 ap-
       pears in	the LESS variable, it can be reset to its default on the  com-
       mand 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
	      options  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
	      automatically as needed.	If a large amount of data is read from
	      the pipe,	this can cause a large amount of memory	 to  be	 allo-
	      cated.   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 er-
	      roneous 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 bottom of the screen.

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

       -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 sin-
	      gle  character which selects the type of text whose color	is be-
	      ing 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" command.

       -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
	      directory	 or a device special file.)  Also suppresses the warn-
	      ing message 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
	      repainted	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	upper-
	      case letters appear in the search	pattern; in other words, if  a
	      pattern  contains	 uppercase  letters, then that search does not
	      ignore case.

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

       -jn    Specifies	 a line	on the screen where the	"target" line is to be
	      positioned.  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 immediately 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 be-
	      low).

       -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
	      ordinary file.  If the file already exists, cless	will  ask  for
	      confirmation 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
	      +/pattern; that is, it tells cless to start at the first	occur-
	      rence of pattern in the file.

       -Pprompt
	      Provides	a  way	to  tailor the three prompt styles to your own
	      preference.  This	option would normally be put in	the LESS envi-
	      ronment 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 se-
	      quences.	See the	section	on PROMPTS for more details.

       -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  ex-
	      ample,  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 dis-
	      play problems may	result,	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	speci-
	      fied from	within cless (using the	- command) as a	way of examin-
	      ing 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	print-
	      able  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 op-
	      tion.

	      By  default, if neither -u nor -U	is given, backspaces which ap-
	      pear adjacent to an underscore character are treated  specially:
	      the  underlined  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 using the	terminal's hardware boldface  capabil-
	      ity.   Other  backspaces	are  deleted, along with the preceding
	      character.  Carriage returns immediately followed	by  a  newline
	      are deleted.  Other carriage returns are handled as specified by
	      the  -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
	      deinitialization	string does something unnecessary, like	clear-
	      ing 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  de-
	      fault  is	 one screenful.	 The z and w commands can also be used
	      to change	the window size.  The "z" may be omitted for  compati-
	      bility  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 resized to 40 lines, the	scrolling window auto-
	      matically	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 ini-
	      tial 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), cer-
       tain keys can be	used to	manipulate the command	line.	Most  commands
       have  an	alternate 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 version.)	 Any of	these special keys may be entered lit-
       erally by preceding it with the "literal" character, either ^V  or  ^A.
       A  backslash itself may also be entered literally by entering two back-
       slashes.

       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  cur-
	      sor one word to the left.

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

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

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

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

       DELETE 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 char-
	      acter 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 sim-
       ply an executable program (or shell script), which writes the  contents
       of the file to a	different file,	called the replacement file.  The con-
       tents  of  the replacement file are then	displayed in place of the con-
       tents 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 replace-
       ment filename, cless uses the original file, as normal.	The input pre-
       processor is not	called when viewing standard input.  To	set up an  in-
       put  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 re-
       placed by the filename when the input preprocessor command is invoked.

       When cless closes a file	opened in such a way,  it  will	 call  another
       program,	 called	the input postprocessor, which may perform any desired
       clean-up	action (such as	 deleting  the	replacement  file  created  by
       LESSOPEN).  This	program	receives two command line arguments, the orig-
       inal  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 occurrences of the string "%s";  the	first  is  re-
       placed  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 di-
       rectly:

       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
       complex 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	start-
       ing 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  replace-
       ment file on its	standard output, writes	the entire contents of the re-
       placement  file	on  its	 standard  output.  If the input pipe does not
       write any characters on its standard output, then there is no  replace-
       ment file and cless uses	the original 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 pre-
       vious 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
       postprocessor 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
       variable	may be used to select a	character set.	 Possible  values  for
       LESSCHARSET are:

       ascii  The  default  character  set.  BS, TAB, NL, CR, and formfeed are
	      control characters, all chars with values	between	 127  and  255
	      are binary, 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 nor-
	      mal characters.

       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
       environment variable LESSCHARDEF	can be used to define a	character set.
       It should be set	to a string where each character in the	string	repre-
       sents  one  character  in the character set.  The character "." is used
       for a normal character, "c" for control,	and "b"	for binary.  A decimal
       number may be used for repetition.  For example,	"bccc4b."  would  mean
       character  0  is	 binary, 1, 2 and 3 are	control, 4, 5, 6 and 7 are bi-
       nary, and 8 is normal.  All characters after the	last are taken	to  be
       the  same  as  the  last,  so characters	9 through 255 would be normal.
       (This is	an example, and	does not necessarily represent any real	 char-
       acter 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 char-
       acter  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	under-
       lined 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.
       Certain characters in the string	are interpreted	specially.  The	prompt
       mechanism  is  rather complicated to provide flexibility, but the ordi-
       nary 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 spec-
	      ifies  the line whose byte offset	is to be used.	If the charac-
	      ter 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 bot-
	      tom  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
	      defined).	 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
       conditions.  A question mark followed by	a single character  acts  like
       an  "IF":  depending  on	the following character, a condition is	evalu-
       ated.  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 characters 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  in-
	      put file is not the last one).

       Any  characters	other than the special ones (question mark, colon, pe-
       riod, 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	"Stan-
       dard input".

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

       This prompt would print the filename, if	known.	The filename  is  fol-
       lowed  by  the  line  number, if	known, otherwise the percent if	known,
       otherwise the byte offset if known.  Otherwise, a dash is printed.  No-
       tice how	each question 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, fol-
       lowed 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 truncated.  This is the default prompt.  For	refer-
       ence,  here  are	 the defaults for the other two	prompts	(-m and	-M re-
       spectively).  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
       environment  variable LESSEDIT is defined, it is	used as	the command to
       be executed when	the v command is invoked.  The LESSEDIT	string is  ex-
       panded  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
       COLUMNS
	      Sets the number of columns on the	screen.	 Takes precedence over
	      the number of columns specified by the TERM variable.   (But  if
	      you  have	 a  windowing  system  which  supports	TIOCGWINSZ  or
	      WIOCGETD,	the window system's idea  of  the  screen  size	 takes
	      precedence over 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 discus-
	      sion 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
	      filenames.

       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	termi-
       nals,  search  highlighting  is	disabled  by default to	avoid possible
       problems.

       In certain cases, when search highlighting is enabled and a search pat-
       tern begins with	a ^, more text than the	matching string	may  be	 high-
       lighted.

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.0>

home | help