lesskey.man revision 191930
1161475SdelphijLESSKEY(1)                                                          LESSKEY(1)
260786Sps
360786Sps
460786Sps
5170256Sdelphij[1mNAME[0m
660786Sps       lesskey - specify key bindings for less
760786Sps
8170256Sdelphij[1mSYNOPSIS[0m
9170256Sdelphij       [1mlesskey [-o output] [--] [input][0m
10170256Sdelphij       [1mlesskey [--output=output] [--] [input][0m
11170256Sdelphij       [1mlesskey -V[0m
12170256Sdelphij       [1mlesskey --version[0m
1360786Sps
14170256Sdelphij[1mDESCRIPTION[0m
15170256Sdelphij       [4mLesskey[24m  is  used  to specify a set of key bindings to be used by [4mless.[0m
16161475Sdelphij       The input file is a text file which describes the key bindings, If  the
17161475Sdelphij       input  file is "-", standard input is read.  If no input file is speci-
18161475Sdelphij       fied, a standard filename is used as the name of the input file,  which
19161475Sdelphij       depends  on  the  system being used: On Unix systems, $HOME/.lesskey is
20161475Sdelphij       used; on MS-DOS systems, $HOME/_lesskey is used; and  on  OS/2  systems
21161475Sdelphij       $HOME/lesskey.ini  is used, or $INIT/lesskey.ini if $HOME is undefined.
22170256Sdelphij       The output file is a binary file which is used by [4mless.[24m  If  no  output
23161475Sdelphij       file  is  specified,  and  the environment variable LESSKEY is set, the
24161475Sdelphij       value of LESSKEY is used as the name of the output file.  Otherwise,  a
25161475Sdelphij       standard filename is used as the name of the output file, which depends
26161475Sdelphij       on the system being used: On Unix  and  OS-9  systems,  $HOME/.less  is
27161475Sdelphij       used;  on  MS-DOS  systems,  $HOME/_less  is used; and on OS/2 systems,
28161475Sdelphij       $HOME/less.ini is used, or $INIT/less.ini if $HOME  is  undefined.   If
29170256Sdelphij       the output file already exists, [4mlesskey[24m will overwrite it.
3060786Sps
31170256Sdelphij       The  -V  or --version option causes [4mlesskey[24m to print its version number
32161475Sdelphij       and immediately exit.  If -V or --version is present, other options and
33161475Sdelphij       arguments are ignored.
3460786Sps
35170256Sdelphij       The  input  file consists of one or more [4msections.[24m  Each section starts
36161475Sdelphij       with a line that identifies the type  of  section.   Possible  sections
37161475Sdelphij       are:
3860786Sps
3960786Sps       #command
4060786Sps              Defines new command keys.
4160786Sps
4260786Sps       #line-edit
4360786Sps              Defines new line-editing keys.
4460786Sps
4560786Sps       #env   Defines environment variables.
4660786Sps
47161475Sdelphij       Blank  lines  and  lines which start with a pound sign (#) are ignored,
48161475Sdelphij       except for the special section header lines.
4960786Sps
5060786Sps
51170256Sdelphij[1mCOMMAND SECTION[0m
5260786Sps       The command section begins with the line
5360786Sps
5460786Sps       #command
5560786Sps
56161475Sdelphij       If the command section is the first section in the file, this line  may
57161475Sdelphij       be omitted.  The command section consists of lines of the form:
5860786Sps
59170256Sdelphij            [4mstring[24m <whitespace> [4maction[24m [extra-string] <newline>
6060786Sps
61161475Sdelphij       Whitespace  is  any  sequence  of  one or more spaces and/or tabs.  The
62170256Sdelphij       [4mstring[24m is the command key(s) which invoke the action.  The  [4mstring[24m  may
63170256Sdelphij       be a single command key, or a sequence of up to 15 keys.  The [4maction[24m is
64161475Sdelphij       the name of the less action, from the list below.   The  characters  in
65170256Sdelphij       the  [4mstring[24m may appear literally, or be prefixed by a caret to indicate
66161475Sdelphij       a control key.  A backslash followed by one to three octal  digits  may
67161475Sdelphij       be  used  to  specify a character by its octal value.  A backslash fol-
68161475Sdelphij       lowed by certain characters specifies input characters as follows:
6960786Sps
7060786Sps       \b     BACKSPACE
7160786Sps
7260786Sps       \e     ESCAPE
7360786Sps
7460786Sps       \n     NEWLINE
7560786Sps
7660786Sps       \r     RETURN
7760786Sps
7860786Sps       \t     TAB
7960786Sps
8060786Sps       \ku    UP ARROW
8160786Sps
8260786Sps       \kd    DOWN ARROW
8360786Sps
8460786Sps       \kr    RIGHT ARROW
8560786Sps
8660786Sps       \kl    LEFT ARROW
8760786Sps
8860786Sps       \kU    PAGE UP
8960786Sps
9060786Sps       \kD    PAGE DOWN
9160786Sps
9260786Sps       \kh    HOME
9360786Sps
9460786Sps       \ke    END
9560786Sps
9660786Sps       \kx    DELETE
9760786Sps
98161475Sdelphij       A backslash followed by any other character indicates that character is
99161475Sdelphij       to  be taken literally.  Characters which must be preceded by backslash
100161475Sdelphij       include caret, space, tab and the backslash itself.
10160786Sps
102161475Sdelphij       An action may be followed by an "extra" string.  When such a command is
103170256Sdelphij       entered while running [4mless,[24m the action is performed, and then the extra
104170256Sdelphij       string is parsed, just as if it were typed in to  [4mless.[24m   This  feature
105161475Sdelphij       can  be used in certain cases to extend the functionality of a command.
106161475Sdelphij       For example, see the "{" and ":t" commands in the example  below.   The
107170256Sdelphij       extra  string  has  a  special meaning for the "quit" action: when [4mless[0m
108161475Sdelphij       quits, first character of the extra string is used as its exit  status.
10960786Sps
11060786Sps
111170256Sdelphij[1mEXAMPLE[0m
112161475Sdelphij       The following input file describes the set of default command keys used
113161475Sdelphij       by less:
11460786Sps
11560786Sps            #command
11660786Sps            \r        forw-line
11760786Sps            \n        forw-line
11860786Sps            e         forw-line
11960786Sps            j         forw-line
12060786Sps            \kd  forw-line
12160786Sps            ^E        forw-line
12260786Sps            ^N        forw-line
12360786Sps            k         back-line
12460786Sps            y         back-line
12560786Sps            ^Y        back-line
12660786Sps            ^K        back-line
12760786Sps            ^P        back-line
12860786Sps            J         forw-line-force
12960786Sps            K         back-line-force
13060786Sps            Y         back-line-force
13160786Sps            d         forw-scroll
13260786Sps            ^D        forw-scroll
13360786Sps            u         back-scroll
13460786Sps            ^U        back-scroll
13560786Sps            \40  forw-screen
13660786Sps            f         forw-screen
13760786Sps            ^F        forw-screen
13860786Sps            ^V        forw-screen
13960786Sps            \kD  forw-screen
14060786Sps            b         back-screen
14160786Sps            ^B        back-screen
14260786Sps            \ev       back-screen
14360786Sps            \kU  back-screen
14460786Sps            z         forw-window
14560786Sps            w         back-window
14660786Sps            \e\40          forw-screen-force
14760786Sps            F         forw-forever
14860786Sps            R         repaint-flush
14960786Sps            r         repaint
15060786Sps            ^R        repaint
15160786Sps            ^L        repaint
15260786Sps            \eu       undo-hilite
15360786Sps            g         goto-line
15489019Sps            \kh  goto-line
15560786Sps            <         goto-line
15660786Sps            \e<       goto-line
15760786Sps            p         percent
15889019Sps            %         percent
15960786Sps            \e[       left-scroll
16060786Sps            \e]       right-scroll
16160786Sps            \e(       left-scroll
16260786Sps            \e)       right-scroll
16360786Sps            {         forw-bracket {}
16460786Sps            }         back-bracket {}
16560786Sps            (         forw-bracket ()
16660786Sps            )         back-bracket ()
16760786Sps            [         forw-bracket []
16860786Sps            ]         back-bracket []
16960786Sps            \e^F      forw-bracket
17060786Sps            \e^B      back-bracket
17160786Sps            G         goto-end
17260786Sps            \e>       goto-end
17360786Sps            >         goto-end
17489019Sps            \ke  goto-end
17560786Sps            =         status
17660786Sps            ^G        status
17760786Sps            :f        status
17860786Sps            /         forw-search
17960786Sps            ?         back-search
18060786Sps            \e/       forw-search *
18160786Sps            \e?       back-search *
18260786Sps            n         repeat-search
18360786Sps            \en       repeat-search-all
18460786Sps            N         reverse-search
18560786Sps            \eN       reverse-search-all
186191930Sdelphij            &         filter
18760786Sps            m         set-mark
18860786Sps            '         goto-mark
18960786Sps            ^X^X      goto-mark
19060786Sps            E         examine
19160786Sps            :e        examine
19260786Sps            ^X^V      examine
19360786Sps            :n        next-file
19460786Sps            :p        prev-file
19589019Sps            t         next-tag
19689019Sps            T         prev-tag
19760786Sps            :x        index-file
19889019Sps            :d        remove-file
19960786Sps            -         toggle-option
20060786Sps            :t        toggle-option t
20160786Sps            s         toggle-option o
20260786Sps            _         display-option
20360786Sps            |         pipe
20460786Sps            v         visual
20560786Sps            !         shell
20660786Sps            +         firstcmd
20760786Sps            H         help
20860786Sps            h         help
20960786Sps            V         version
21063128Sps            0         digit
21163128Sps            1         digit
21263128Sps            2         digit
21389019Sps            3         digit
21489019Sps            4         digit
21589019Sps            5         digit
21689019Sps            6         digit
21789019Sps            7         digit
21863128Sps            8         digit
21963128Sps            9         digit
22063128Sps            q         quit
22163128Sps            Q         quit
22263128Sps            :q        quit
22363128Sps            :Q        quit
22463128Sps            ZZ        quit
22560786Sps
22660786Sps
227170256Sdelphij[1mPRECEDENCE[0m
228170256Sdelphij       Commands specified by [4mlesskey[24m take precedence  over  the  default  com-
229161475Sdelphij       mands.   A  default  command key may be disabled by including it in the
230161475Sdelphij       input file with the action "invalid".   Alternatively,  a  key  may  be
231161475Sdelphij       defined  to  do  nothing by using the action "noaction".  "noaction" is
232170256Sdelphij       similar to "invalid", but [4mless[24m will give an error beep for an "invalid"
233161475Sdelphij       command,  but  not  for a "noaction" command.  In addition, ALL default
234161475Sdelphij       commands may be disabled by adding this control line to the input file:
23560786Sps
23660786Sps       #stop
23760786Sps
238161475Sdelphij       This  will  cause  all  default commands to be ignored.  The #stop line
239161475Sdelphij       should be the last line in that section of the file.
24060786Sps
241161475Sdelphij       Be aware that #stop can be dangerous.  Since all default  commands  are
242161475Sdelphij       disabled, you must provide sufficient commands before the #stop line to
243161475Sdelphij       enable all necessary actions.  For example, failure to provide a "quit"
244161475Sdelphij       command can lead to frustration.
24560786Sps
24660786Sps
247170256Sdelphij[1mLINE EDITING SECTION[0m
24860786Sps       The line-editing section begins with the line:
24960786Sps
25060786Sps       #line-edit
25160786Sps
252161475Sdelphij       This  section specifies new key bindings for the line editing commands,
253161475Sdelphij       in a manner similar to the way key bindings for ordinary  commands  are
254161475Sdelphij       specified  in  the #command section.  The line-editing section consists
255161475Sdelphij       of a list of keys and actions, one per line as in the example below.
25660786Sps
25760786Sps
258170256Sdelphij[1mEXAMPLE[0m
259161475Sdelphij       The following input file describes the set of default line-editing keys
260161475Sdelphij       used by less:
26160786Sps
26289019Sps            #line-edit
26389019Sps            \t        forw-complete
26489019Sps            \17       back-complete
26589019Sps            \e\t      back-complete
26689019Sps            ^L        expand
26763128Sps            ^V        literal
26863128Sps            ^A        literal
26963128Sps            \el       right
27063128Sps            \kr       right
27163128Sps            \eh       left
27263128Sps            \kl       left
27363128Sps            \eb       word-left
27463128Sps            \e\kl     word-left
27563128Sps            \ew       word-right
27660786Sps            \e\kr     word-right
27760786Sps            \ei       insert
27860786Sps            \ex       delete
27960786Sps            \kx       delete
28060786Sps            \eX       word-delete
28160786Sps            \ekx      word-delete
28260786Sps            \e\b      word-backspace
28360786Sps            \e0       home
28460786Sps            \kh       home
28560786Sps            \e$       end
28660786Sps            \ke       end
28760786Sps            \ek       up
28860786Sps            \ku       up
28960786Sps            \ej       down
29060786Sps
29160786Sps
29260786Sps
293170256Sdelphij[1mLESS ENVIRONMENT VARIABLES[0m
29460786Sps       The environment variable section begins with the line
29560786Sps
29660786Sps       #env
29760786Sps
298161475Sdelphij       Following  this  line  is  a  list of environment variable assignments.
299161475Sdelphij       Each line consists of an environment variable name, an equals sign  (=)
300161475Sdelphij       and  the value to be assigned to the environment variable.  White space
301161475Sdelphij       before and after the equals sign is  ignored.   Variables  assigned  in
302170256Sdelphij       this  way  are visible only to [4mless.[24m  If a variable is specified in the
303161475Sdelphij       system environment and also in a lesskey file, the value in the lesskey
304161475Sdelphij       file  takes precedence.  Although the lesskey file can be used to over-
305161475Sdelphij       ride variables set in the environment, the main  purpose  of  assigning
306170256Sdelphij       variables  in the lesskey file is simply to have all [4mless[24m configuration
30760786Sps       information stored in one file.
30860786Sps
30960786Sps
310170256Sdelphij[1mEXAMPLE[0m
311170256Sdelphij       The following input file sets the -i option whenever [4mless[24m is  run,  and
312161475Sdelphij       specifies the character set to be "latin1":
31360786Sps
31489019Sps            #env
31589019Sps            LESS = -i
31689019Sps            LESSCHARSET = latin1
31760786Sps
31860786Sps
31989019Sps
320170256Sdelphij[1mSEE ALSO[0m
32163128Sps       less(1)
32260786Sps
32360786Sps
324170256Sdelphij[1mWARNINGS[0m
325161475Sdelphij       It  is not possible to specify special keys, such as uparrow, in a key-
326161475Sdelphij       board-independent manner.  The only way to  specify  such  keys  is  to
327161475Sdelphij       specify the escape sequence which a particular keyboard sends when such
328161475Sdelphij       a key is pressed.
32960786Sps
330161475Sdelphij       On MS-DOS and OS/2 systems, certain keys send a sequence of  characters
331161475Sdelphij       which  start  with  a  NUL character (0).  This NUL character should be
332161475Sdelphij       represented as \340 in a lesskey file.
33360786Sps
33460786Sps
335170256Sdelphij[1mCOPYRIGHT[0m
336191930Sdelphij       Copyright (C) 2000-2008  Mark Nudelman
33760786Sps
338161475Sdelphij       lesskey is part of the GNU project and is free software; you can redis-
339161475Sdelphij       tribute  it  and/or modify it under the terms of the GNU General Public
340161475Sdelphij       License as published by the Free Software Foundation; either version 2,
341161475Sdelphij       or (at your option) any later version.
34260786Sps
343161475Sdelphij       lesskey  is distributed in the hope that it will be useful, but WITHOUT
344161475Sdelphij       ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY  or
345161475Sdelphij       FITNESS  FOR  A PARTICULAR PURPOSE.  See the GNU General Public License
346161475Sdelphij       for more details.
34760786Sps
348161475Sdelphij       You should have received a copy of the GNU General Public License along
349161475Sdelphij       with lesskey; see the file COPYING.  If not, write to the Free Software
350161475Sdelphij       Foundation, 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
35160786Sps
35260786Sps
353170256Sdelphij[1mAUTHOR[0m
35489019Sps       Mark Nudelman <markn@greenwoodsoftware.com>
355161475Sdelphij       Send  bug  reports  or  comments  to  the  above  address  or  to  bug-
356161475Sdelphij       less@gnu.org.
35760786Sps
35860786Sps
35960786Sps
36060786Sps
361191930Sdelphij                           Version 429: 11 Apr 2009                 LESSKEY(1)
362