## SYNOPSIS

           lesskey [-o output] [--] [input]
           lesskey [--output=output] [--] [input]
           lesskey -V
           lesskey --version

## DESCRIPTION

           Lesskey  is  used  to  specify a set of key bindings to be
           used by less.   The  input  file  is  a  text  file  which
           describes  the  key  bindings,  If  the input file is "-",
           standard input is read.  If no input file is specified,  a
           standard  filename  is used as the name of the input file,
           which depends on the system being used: On  Unix  systems,
           $HOME/.lesskey  is used; on MS-DOS systems, $HOME/_lesskey
           is used; and on OS/2 systems $HOME/lesskey.ini is used, or
           $INIT/lesskey.ini  if $HOME is undefined.  The output file
           is a binary file which is used by less.  If no output file
           is specified, and the environment variable LESSKEY is set,
           the value of LESSKEY is used as the  name  of  the  output
           file.   Otherwise, a standard filename is used as the name
           of the output file, which  depends  on  the  system  being
           used:  On  Unix  and OS-9 systems, $HOME/.less is used; on
           MS-DOS systems, $HOME/_less is used; and on OS/2  systems,
           $HOME/less.ini  is  used,  or  $INIT/less.ini  if $HOME is
           undefined.  If the output  file  already  exists,  lesskey
           will overwrite it.

           The  -V  or  --version  option causes lesskey to print its
           version number and immediately exit.  If -V  or  --version
           is present, other options and arguments are ignored.

           The  input  file  consists  of one or more sections.  Each
           section starts with a line that  identifies  the  type  of
           section.  Possible sections are:

           #command
                  Defines new command keys.

           #line-edit
                  Defines new line-editing keys.

           #env   Defines environment variables.

           Blank  lines  and  lines which start with a pound sign (#)
           are ignored, except for the special section header  lines.

## COMMAND SECTION

           The command section begins with the line

           #command

           its  octal value.  A backslash followed by certain charac
           ters specifies input characters as follows:

           \b     BACKSPACE

           \e     ESCAPE

           \n     NEWLINE

           \r     RETURN

           \t     TAB

           \ku    UP ARROW

           \kd    DOWN ARROW

           \kr    RIGHT ARROW

           \kl    LEFT ARROW

           \kU    PAGE UP

           \kD    PAGE DOWN

           \kh    HOME

           \ke    END

           \kx    DELETE

           A backslash followed by any other character indicates that
           character is to be taken literally.  Characters which must
           be preceded by backslash include caret, space, tab and the
           backslash itself.

           An action may be followed by an "extra" string.  When such
           a command is entered while running  less,  the  action  is
           performed, and then the extra string is parsed, just as if
           it were typed in to less.  This feature  can  be  used  in
           certain  cases  to  extend the functionality of a command.
           For example, see the "{" and ":t" commands in the  example
           below.   The  extra  string  has a special meaning for the
           "quit" action: when less quits,  first  character  of  the
           extra string is used as its exit status.

## EXAMPLE

           The following input file describes the set of default com
           mand keys used by less:

                #command
                Y         back-line-force
                d         forw-scroll
                ^D        forw-scroll
                u         back-scroll
                ^U        back-scroll
                \40  forw-screen
                f         forw-screen
                ^F        forw-screen
                ^V        forw-screen
                \kD  forw-screen
                b         back-screen
                ^B        back-screen
                \ev       back-screen
                \kU  back-screen
                z         forw-window
                w         back-window
                \e\40          forw-screen-force
                F         forw-forever
                R         repaint-flush
                r         repaint
                ^R        repaint
                ^L        repaint
                \eu       undo-hilite
                g         goto-line
                \kh  goto-line
                <         goto-line
                \e<       goto-line
                p         percent
                %         percent
                \e[       left-scroll
                \e]       right-scroll
                \e(       left-scroll
                \e)       right-scroll
                {         forw-bracket {}
                }         back-bracket {}
                (         forw-bracket ()
                )         back-bracket ()
                [         forw-bracket []
                ]         back-bracket []
                \e^F      forw-bracket
                \e^B      back-bracket
                G         goto-end
                \e>       goto-end
                >         goto-end
                \ke  goto-end
                =         status
                ^G        status
                :f        status
                /         forw-search
                ?         back-search
                \e/       forw-search *
                \e?       back-search *
                :x        index-file
                :d        remove-file
                -         toggle-option
                :t        toggle-option t
                s         toggle-option o
                _         display-option
                |         pipe
                v         visual
                !         shell
                +         firstcmd
                @         rotate-right
                H         help
                h         help
                V         version
                0         digit
                1         digit
                2         digit
                3         digit
                4         digit
                5         digit
                6         digit
                7         digit
                8         digit
                9         digit
                q         quit
                Q         quit
                :q        quit
                :Q        quit
                ZZ        quit

## PRECEDENCE

           Commands specified by lesskey  take  precedence  over  the
           default  commands.   A default command key may be disabled
           by  including  it  in  the  input  file  with  the  action
           "invalid".   Alternatively,  a  key  may  be defined to do
           nothing by using the  action  "noaction".   "noaction"  is
           similar to "invalid", but less will give an error beep for
           an "invalid" command, but not for  a  "noaction"  command.
           In  addition,  ALL  default  commands  may  be disabled by
           adding this control line to the input file:

           #stop

           This will cause all default commands to be  ignored.   The
           #stop  line should be the last line in that section of the
           file.

           Be aware that #stop can be dangerous.  Since  all  default
           commands  are  disabled,  you must provide sufficient com
           mands before  the  #stop  line  to  enable  all  necessary
           actions.  For example, failure to provide a "quit" command

## EXAMPLE

           The following input file  describes  the  set  of  default
           line-editing keys used by less:

                #line-edit
                \t        forw-complete
                \17       back-complete
                \e\t      back-complete
                ^L        expand
                ^V        literal
                ^A        literal
                \el       right
                \kr       right
                \eh       left
                \kl       left
                \eb       word-left
                \e\kl     word-left
                \ew       word-right
                \e\kr     word-right
                \ei       insert
                \ex       delete
                \kx       delete
                \eX       word-delete
                \ekx      word-delete
                \e\b      word-backspace
                \e0       home
                \kh       home
                \e$       end
                \ke       end
                \ek       up
                \ku       up
                \ej       down

## LESS ENVIRONMENT VARIABLES

           The environment variable section begins with the line

           #env

           Following  this  line  is  a  list of environment variable
           assignments.  Each line consists of an  environment  vari
           able name, an equals sign (=) and the value to be assigned
           to the environment variable.  White space before and after
           the  equals  sign  is ignored.  Variables assigned in this
           way are visible only to less.  If a variable is  specified
           in  the system environment and also in a lesskey file, the
           value in the lesskey file takes precedence.  Although  the
           lesskey  file can be used to override variables set in the
           environment, the main purpose of  assigning  variables  in
           the  lesskey file is simply to have all less configuration
           less(1)

## WARNINGS

           It  is not possible to specify special keys, such as upar
           row, in a keyboard-independent manner.  The  only  way  to
           specify  such keys is to specify the escape sequence which
           a particular keyboard sends when such a keys is pressed.

           On MS-DOS and OS/2 systems, certain keys send  a  sequence
           of  characters which start with a NUL character (0).  This
           NUL character should be represented as \340 in  a  lesskey
           file.

## COPYRIGHT

           Copyright (C) 2000  Mark Nudelman

           lesskey  is  part of the GNU project and is free software;
           you can redistribute it and/or modify it under  the  terms
           of the GNU General Public License as published by the Free
           Software Foundation; either version 2, or (at your option)
           any later version.

           lesskey is distributed in the hope that it will be useful,
           but WITHOUT ANY WARRANTY; without even  the  implied  war
           ranty  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR
           POSE.   See  the  GNU  General  Public  License  for  more
           details.

           You  should have received a copy of the GNU General Public
           License along with lesskey; see the file COPYING.  If not,
           write  to  the  Free Software Foundation, 59 Temple Place,
           Suite 330, Boston, MA  02111-1307, USA.

## AUTHOR

           Mark Nudelman <markn@greenwoodsoftware.com>
           Send bug reports or comments to the above  address  or  to
           bug-less@gnu.org.

## PATCH

           Copyright (c) 1994-2000  Kazushi (Jam) Marukawa, Japanized
           routines only
           Comments to: jam@pobox.com
           You may distribute under the terms of the Less License.

                         Version 378: 30 Sep 2002          LESSKEY(1)