upgrade to 466 version
[platform/upstream/less.git] / lesskey.man
1 LESSKEY(1)                  General Commands Manual                 LESSKEY(1)
2
3
4
5 \e[1mNAME\e[0m
6        lesskey - specify key bindings for less
7
8 \e[1mSYNOPSIS\e[0m
9        \e[1mlesskey [-o output] [--] [input]\e[0m
10        \e[1mlesskey [--output=output] [--] [input]\e[0m
11        \e[1mlesskey -V\e[0m
12        \e[1mlesskey --version\e[0m
13
14 \e[1mDESCRIPTION\e[0m
15        \e[4mLesskey\e[24m  is  used  to specify a set of key bindings to be used by \e[4mless.\e[0m
16        The input file is a text file which describes the key bindings.  If the
17        input  file is "-", standard input is read.  If no input file is speci-
18        fied, a standard filename is used as the name of the input file,  which
19        depends  on  the  system being used: On Unix systems, $HOME/.lesskey is
20        used; on MS-DOS systems, $HOME/_lesskey is used; and  on  OS/2  systems
21        $HOME/lesskey.ini  is used, or $INIT/lesskey.ini if $HOME is undefined.
22        The output file is a binary file which is used by \e[4mless.\e[24m  If  no  output
23        file  is  specified,  and  the environment variable LESSKEY is set, the
24        value of LESSKEY is used as the name of the output file.  Otherwise,  a
25        standard filename is used as the name of the output file, which depends
26        on the system being used: On Unix  and  OS-9  systems,  $HOME/.less  is
27        used;  on  MS-DOS  systems,  $HOME/_less  is used; and on OS/2 systems,
28        $HOME/less.ini is used, or $INIT/less.ini if $HOME  is  undefined.   If
29        the output file already exists, \e[4mlesskey\e[24m will overwrite it.
30
31        The  -V  or --version option causes \e[4mlesskey\e[24m to print its version number
32        and immediately exit.  If -V or --version is present, other options and
33        arguments are ignored.
34
35        The  input  file consists of one or more \e[4msections.\e[24m  Each section starts
36        with a line that identifies the type  of  section.   Possible  sections
37        are:
38
39        #command
40               Defines new command keys.
41
42        #line-edit
43               Defines new line-editing keys.
44
45        #env   Defines environment variables.
46
47        Blank  lines  and  lines which start with a pound sign (#) are ignored,
48        except for the special section header lines.
49
50
51 \e[1mCOMMAND SECTION\e[0m
52        The command section begins with the line
53
54        #command
55
56        If the command section is the first section in the file, this line  may
57        be omitted.  The command section consists of lines of the form:
58
59             \e[4mstring\e[24m <whitespace> \e[4maction\e[24m [extra-string] <newline>
60
61        Whitespace  is  any  sequence  of  one or more spaces and/or tabs.  The
62        \e[4mstring\e[24m is the command key(s) which invoke the action.  The  \e[4mstring\e[24m  may
63        be a single command key, or a sequence of up to 15 keys.  The \e[4maction\e[24m is
64        the name of the less action, from the list below.   The  characters  in
65        the  \e[4mstring\e[24m may appear literally, or be prefixed by a caret to indicate
66        a control key.  A backslash followed by one to three octal  digits  may
67        be  used  to  specify a character by its octal value.  A backslash fol-
68        lowed by certain characters specifies input characters as follows:
69
70        \b     BACKSPACE
71
72        \e     ESCAPE
73
74        \n     NEWLINE
75
76        \r     RETURN
77
78        \t     TAB
79
80        \ku    UP ARROW
81
82        \kd    DOWN ARROW
83
84        \kr    RIGHT ARROW
85
86        \kl    LEFT ARROW
87
88        \kU    PAGE UP
89
90        \kD    PAGE DOWN
91
92        \kh    HOME
93
94        \ke    END
95
96        \kx    DELETE
97
98        A backslash followed by any other character indicates that character is
99        to  be taken literally.  Characters which must be preceded by backslash
100        include caret, space, tab and the backslash itself.
101
102        An action may be followed by an "extra" string.  When such a command is
103        entered while running \e[4mless,\e[24m the action is performed, and then the extra
104        string is parsed, just as if it were typed in to  \e[4mless.\e[24m   This  feature
105        can  be used in certain cases to extend the functionality of a command.
106        For example, see the "{" and ":t" commands in the example  below.   The
107        extra  string  has  a  special meaning for the "quit" action: when \e[4mless\e[0m
108        quits, first character of the extra string is used as its exit status.
109
110
111 \e[1mEXAMPLE\e[0m
112        The following input file describes the set of default command keys used
113        by less:
114
115             #command
116             \r        forw-line
117             \n        forw-line
118             e         forw-line
119             j         forw-line
120             \kd  forw-line
121             ^E        forw-line
122             ^N        forw-line
123             k         back-line
124             y         back-line
125             ^Y        back-line
126             ^K        back-line
127             ^P        back-line
128             J         forw-line-force
129             K         back-line-force
130             Y         back-line-force
131             d         forw-scroll
132             ^D        forw-scroll
133             u         back-scroll
134             ^U        back-scroll
135             \40  forw-screen
136             f         forw-screen
137             ^F        forw-screen
138             ^V        forw-screen
139             \kD  forw-screen
140             b         back-screen
141             ^B        back-screen
142             \ev       back-screen
143             \kU  back-screen
144             z         forw-window
145             w         back-window
146             \e\40          forw-screen-force
147             F         forw-forever
148             \eF       forw-until-hilite
149             R         repaint-flush
150             r         repaint
151             ^R        repaint
152             ^L        repaint
153             \eu       undo-hilite
154             g         goto-line
155             \kh  goto-line
156             <         goto-line
157             \e<       goto-line
158             p         percent
159             %         percent
160             \e[       left-scroll
161             \e]       right-scroll
162             \e(       left-scroll
163             \e)       right-scroll
164             {         forw-bracket {}
165             }         back-bracket {}
166             (         forw-bracket ()
167             )         back-bracket ()
168             [         forw-bracket []
169             ]         back-bracket []
170             \e^F      forw-bracket
171             \e^B      back-bracket
172             G         goto-end
173             \e>       goto-end
174             >         goto-end
175             \ke  goto-end
176             \eG       goto-end-buffered
177             =         status
178             ^G        status
179             :f        status
180             /         forw-search
181             ?         back-search
182             \e/       forw-search *
183             \e?       back-search *
184             n         repeat-search
185             \en       repeat-search-all
186             N         reverse-search
187             \eN       reverse-search-all
188             &         filter
189             m         set-mark
190             '         goto-mark
191             ^X^X      goto-mark
192             E         examine
193             :e        examine
194             ^X^V      examine
195             :n        next-file
196             :p        prev-file
197             t         next-tag
198             T         prev-tag
199             :x        index-file
200             :d        remove-file
201             -         toggle-option
202             :t        toggle-option t
203             s         toggle-option o
204             _         display-option
205             |         pipe
206             v         visual
207             !         shell
208             +         firstcmd
209             H         help
210             h         help
211             V         version
212             0         digit
213             1         digit
214             2         digit
215             3         digit
216             4         digit
217             5         digit
218             6         digit
219             7         digit
220             8         digit
221             9         digit
222             q         quit
223             Q         quit
224             :q        quit
225             :Q        quit
226             ZZ        quit
227
228
229 \e[1mPRECEDENCE\e[0m
230        Commands  specified  by  \e[4mlesskey\e[24m  take precedence over the default com-
231        mands.  A default command key may be disabled by including  it  in  the
232        input  file  with  the  action  "invalid".  Alternatively, a key may be
233        defined to do nothing by using the action  "noaction".   "noaction"  is
234        similar to "invalid", but \e[4mless\e[24m will give an error beep for an "invalid"
235        command, but not for a "noaction" command.  In  addition,  ALL  default
236        commands may be disabled by adding this control line to the input file:
237
238        #stop
239
240        This  will  cause  all  default commands to be ignored.  The #stop line
241        should be the last line in that section of the file.
242
243        Be aware that #stop can be dangerous.  Since all default  commands  are
244        disabled, you must provide sufficient commands before the #stop line to
245        enable all necessary actions.  For example, failure to provide a "quit"
246        command can lead to frustration.
247
248
249 \e[1mLINE EDITING SECTION\e[0m
250        The line-editing section begins with the line:
251
252        #line-edit
253
254        This  section specifies new key bindings for the line editing commands,
255        in a manner similar to the way key bindings for ordinary  commands  are
256        specified  in  the #command section.  The line-editing section consists
257        of a list of keys and actions, one per line as in the example below.
258
259
260 \e[1mEXAMPLE\e[0m
261        The following input file describes the set of default line-editing keys
262        used by less:
263
264             #line-edit
265             \t        forw-complete
266             \17       back-complete
267             \e\t      back-complete
268             ^L        expand
269             ^V        literal
270             ^A        literal
271             \el       right
272             \kr       right
273             \eh       left
274             \kl       left
275             \eb       word-left
276             \e\kl     word-left
277             \ew       word-right
278             \e\kr     word-right
279             \ei       insert
280             \ex       delete
281             \kx       delete
282             \eX       word-delete
283             \ekx      word-delete
284             \e\b      word-backspace
285             \e0       home
286             \kh       home
287             \e$       end
288             \ke       end
289             \ek       up
290             \ku       up
291             \ej       down
292             ^G        abort
293
294
295
296 \e[1mLESS ENVIRONMENT VARIABLES\e[0m
297        The environment variable section begins with the line
298
299        #env
300
301        Following  this  line  is  a  list of environment variable assignments.
302        Each line consists of an environment variable name, an equals sign  (=)
303        and  the value to be assigned to the environment variable.  White space
304        before and after the equals sign is  ignored.   Variables  assigned  in
305        this  way  are visible only to \e[4mless.\e[24m  If a variable is specified in the
306        system environment and also in a lesskey file, the value in the lesskey
307        file  takes precedence.  Although the lesskey file can be used to over-
308        ride variables set in the environment, the main  purpose  of  assigning
309        variables  in the lesskey file is simply to have all \e[4mless\e[24m configuration
310        information stored in one file.
311
312
313 \e[1mEXAMPLE\e[0m
314        The following input file sets the -i option whenever \e[4mless\e[24m is  run,  and
315        specifies the character set to be "latin1":
316
317             #env
318             LESS = -i
319             LESSCHARSET = latin1
320
321
322
323 \e[1mSEE ALSO\e[0m
324        less(1)
325
326
327 \e[1mWARNINGS\e[0m
328        On  MS-DOS and OS/2 systems, certain keys send a sequence of characters
329        which start with a NUL character (0).  This  NUL  character  should  be
330        represented as \340 in a lesskey file.
331
332
333 \e[1mCOPYRIGHT\e[0m
334        Copyright (C) 2000-2012  Mark Nudelman
335
336        lesskey is part of the GNU project and is free software; you can redis-
337        tribute it and/or modify it under the terms of the GNU  General  Public
338        License as published by the Free Software Foundation; either version 2,
339        or (at your option) any later version.
340
341        lesskey is distributed in the hope that it will be useful, but  WITHOUT
342        ANY  WARRANTY;  without even the implied warranty of MERCHANTABILITY or
343        FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General  Public  License
344        for more details.
345
346        You should have received a copy of the GNU General Public License along
347        with lesskey; see the file COPYING.  If not, write to the Free Software
348        Foundation, 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
349
350
351 \e[1mAUTHOR\e[0m
352        Mark Nudelman
353        Send bug reports or comments to bug-less@gnu.org.
354
355
356
357                            Version 466: 23 Aug 2014                 LESSKEY(1)