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