Imported Upstream version 551
[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             \kl       left-scroll
165             \kr       right-scroll
166             \e{       no-scroll
167             \e}       end-scroll
168             {         forw-bracket {}
169             }         back-bracket {}
170             (         forw-bracket ()
171             )         back-bracket ()
172             [         forw-bracket []
173             ]         back-bracket []
174             \e^F      forw-bracket
175             \e^B      back-bracket
176             G         goto-end
177             \e>       goto-end
178             >         goto-end
179             \ke       goto-end
180             \eG       goto-end-buffered
181             =         status
182             ^G        status
183             :f        status
184             /         forw-search
185             ?         back-search
186             \e/       forw-search *
187             \e?       back-search *
188             n         repeat-search
189             \en       repeat-search-all
190             N         reverse-search
191             \eN       reverse-search-all
192             &         filter
193             m         set-mark
194             M         set-mark-bottom
195             \em       clear-mark
196             '         goto-mark
197             ^X^X      goto-mark
198             E         examine
199             :e        examine
200             ^X^V      examine
201             :n        next-file
202             :p        prev-file
203             t         next-tag
204             T         prev-tag
205             :x        index-file
206             :d        remove-file
207             -         toggle-option
208             :t        toggle-option t
209             s         toggle-option o
210             _         display-option
211             |         pipe
212             v         visual
213             !         shell
214             +         firstcmd
215             H         help
216             h         help
217             V         version
218             0         digit
219             1         digit
220             2         digit
221             3         digit
222             4         digit
223             5         digit
224             6         digit
225             7         digit
226             8         digit
227             9         digit
228             q         quit
229             Q         quit
230             :q        quit
231             :Q        quit
232             ZZ        quit
233
234
235 \e[1mPRECEDENCE\e[0m
236        Commands  specified  by  \e[4mlesskey\e[24m  take precedence over the default com-
237        mands.  A default command key may be disabled by including  it  in  the
238        input  file  with  the  action  "invalid".  Alternatively, a key may be
239        defined to do nothing by using the action  "noaction".   "noaction"  is
240        similar to "invalid", but \e[4mless\e[24m will give an error beep for an "invalid"
241        command, but not for a "noaction" command.  In  addition,  ALL  default
242        commands may be disabled by adding this control line to the input file:
243
244        #stop
245
246        This  will  cause  all  default commands to be ignored.  The #stop line
247        should be the last line in that section of the file.
248
249        Be aware that #stop can be dangerous.  Since all default  commands  are
250        disabled, you must provide sufficient commands before the #stop line to
251        enable all necessary actions.  For example, failure to provide a "quit"
252        command can lead to frustration.
253
254
255 \e[1mLINE EDITING SECTION\e[0m
256        The line-editing section begins with the line:
257
258        #line-edit
259
260        This  section specifies new key bindings for the line editing commands,
261        in a manner similar to the way key bindings for ordinary  commands  are
262        specified  in  the #command section.  The line-editing section consists
263        of a list of keys and actions, one per line as in the example below.
264
265
266 \e[1mEXAMPLE\e[0m
267        The following input file describes the set of default line-editing keys
268        used by less:
269
270             #line-edit
271             \t        forw-complete
272             \17       back-complete
273             \e\t      back-complete
274             ^L        expand
275             ^V        literal
276             ^A        literal
277             \el       right
278             \kr       right
279             \eh       left
280             \kl       left
281             \eb       word-left
282             \e\kl     word-left
283             \ew       word-right
284             \e\kr     word-right
285             \ei       insert
286             \ex       delete
287             \kx       delete
288             \eX       word-delete
289             \ekx      word-delete
290             \e\b      word-backspace
291             \e0       home
292             \kh       home
293             \e$       end
294             \ke       end
295             \ek       up
296             \ku       up
297             \ej       down
298             ^G        abort
299
300
301
302 \e[1mLESS ENVIRONMENT VARIABLES\e[0m
303        The environment variable section begins with the line
304
305        #env
306
307        Following  this  line  is  a  list of environment variable assignments.
308        Each line consists of an environment variable name, an equals sign  (=)
309        and  the value to be assigned to the environment variable.  White space
310        before and after the equals sign is  ignored.   Variables  assigned  in
311        this  way  are visible only to \e[4mless.\e[24m  If a variable is specified in the
312        system environment and also in a lesskey file, the value in the lesskey
313        file  takes precedence.  Although the lesskey file can be used to over-
314        ride variables set in the environment, the main  purpose  of  assigning
315        variables  in the lesskey file is simply to have all \e[4mless\e[24m configuration
316        information stored in one file.
317
318
319 \e[1mEXAMPLE\e[0m
320        The following input file sets the -i option whenever \e[4mless\e[24m is  run,  and
321        specifies the character set to be "latin1":
322
323             #env
324             LESS = -i
325             LESSCHARSET = latin1
326
327
328
329 \e[1mSEE ALSO\e[0m
330        less(1)
331
332
333 \e[1mWARNINGS\e[0m
334        On  MS-DOS and OS/2 systems, certain keys send a sequence of characters
335        which start with a NUL character (0).  This  NUL  character  should  be
336        represented as \340 in a lesskey file.
337
338
339 \e[1mCOPYRIGHT\e[0m
340        Copyright (C) 1984-2019  Mark Nudelman
341
342        less  is  part of the GNU project and is free software.  You can redis-
343        tribute it and/or modify it under the terms of either (1) the GNU  Gen-
344        eral  Public  License  as published by the Free Software Foundation; or
345        (2) the Less License.  See the file README in the less distribution for
346        more details regarding redistribution.  You should have received a copy
347        of the GNU General Public License along with the source for  less;  see
348        the  file  COPYING.   If not, write to the Free Software Foundation, 59
349        Temple Place, Suite 330, Boston, MA  02111-1307, USA.  You should  also
350        have received a copy of the Less License; see the file LICENSE.
351
352        less is distributed in the hope that it will be useful, but WITHOUT ANY
353        WARRANTY; without even the implied warranty of MERCHANTABILITY or  FIT-
354        NESS  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
355        more details.
356
357
358 \e[1mAUTHOR\e[0m
359        Mark Nudelman
360        Send bug reports or comments to <bug-less@gnu.org>.
361
362
363
364                            Version 551: 11 Jun 2019                 LESSKEY(1)