Annotation of src/usr.bin/less/lesskey.nro, Revision 1.1.1.2
1.1.1.2 ! millert 1: .TH LESSKEY 1 "Version 381: 17 Jan 2003"
1.1 etheisen 2: .SH NAME
3: lesskey \- specify key bindings for less
4: .SH SYNOPSIS
1.1.1.2 ! millert 5: .B "lesskey [-o output] [--] [input]"
! 6: .br
! 7: .B "lesskey [--output=output] [--] [input]"
1.1 etheisen 8: .br
9: .B "lesskey -V"
1.1.1.2 ! millert 10: .br
! 11: .B "lesskey --version"
1.1 etheisen 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.
1.1.1.2 ! millert 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.
1.1 etheisen 24: The output file is a binary file which is used by
25: .I less.
1.1.1.2 ! millert 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.
1.1 etheisen 35: If the output file already exists,
36: .I lesskey
37: will overwrite it.
38: .PP
1.1.1.2 ! millert 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:
1.1 etheisen 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.
1.1.1.2 ! millert 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
1.1 etheisen 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.
1.1.1.2 ! millert 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.
1.1 etheisen 126:
127: .SH EXAMPLE
128: The following input file describes the set of
129: default command keys used by less:
130: .sp
131: .nf
1.1.1.2 ! millert 132: #command
1.1 etheisen 133: \er forw-line
134: \en forw-line
135: e forw-line
136: j forw-line
1.1.1.2 ! millert 137: \ekd forw-line
1.1 etheisen 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
1.1.1.2 ! millert 152: \e40 forw-screen
1.1 etheisen 153: f forw-screen
154: ^F forw-screen
155: ^V forw-screen
1.1.1.2 ! millert 156: \ekD forw-screen
1.1 etheisen 157: b back-screen
158: ^B back-screen
159: \eev back-screen
1.1.1.2 ! millert 160: \ekU back-screen
1.1 etheisen 161: z forw-window
162: w back-window
1.1.1.2 ! millert 163: \ee\e40 forw-screen-force
1.1 etheisen 164: F forw-forever
165: R repaint-flush
166: r repaint
167: ^R repaint
168: ^L repaint
1.1.1.2 ! millert 169: \eeu undo-hilite
1.1 etheisen 170: g goto-line
1.1.1.2 ! millert 171: \ekh goto-line
1.1 etheisen 172: < goto-line
173: \ee< goto-line
174: p percent
175: % percent
1.1.1.2 ! millert 176: \ee[ left-scroll
! 177: \ee] right-scroll
! 178: \ee( left-scroll
! 179: \ee) right-scroll
1.1 etheisen 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
1.1.1.2 ! millert 191: \eke goto-end
1.1 etheisen 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
1.1.1.2 ! millert 211: t next-tag
! 212: T prev-tag
1.1 etheisen 213: :x index-file
1.1.1.2 ! millert 214: :d remove-file
1.1 etheisen 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
1.1.1.2 ! millert 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
1.1 etheisen 236: q quit
1.1.1.2 ! millert 237: Q quit
1.1 etheisen 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:
1.1.1.2 ! millert 269: .SH "LINE EDITING SECTION"
! 270: The line-editing section begins with the line:
1.1 etheisen 271: .sp
272: #line-edit
273: .sp
1.1.1.2 ! millert 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,
1.1 etheisen 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
1.1.1.2 ! millert 289: ^L expand
1.1 etheisen 290: ^V literal
291: ^A literal
292: \eel right
1.1.1.2 ! millert 293: \ekr right
1.1 etheisen 294: \eeh left
1.1.1.2 ! millert 295: \ekl left
1.1 etheisen 296: \eeb word-left
1.1.1.2 ! millert 297: \ee\ekl word-left
1.1 etheisen 298: \eew word-right
1.1.1.2 ! millert 299: \ee\ekr word-right
1.1 etheisen 300: \eei insert
301: \eex delete
1.1.1.2 ! millert 302: \ekx delete
! 303: \eeX word-delete
! 304: \eekx word-delete
1.1 etheisen 305: \ee\eb word-backspace
306: \ee0 home
1.1.1.2 ! millert 307: \ekh home
1.1 etheisen 308: \ee$ end
1.1.1.2 ! millert 309: \eke end
1.1 etheisen 310: \eek up
1.1.1.2 ! millert 311: \eku up
1.1 etheisen 312: \eej down
313: .fi
314: .sp
315:
1.1.1.2 ! millert 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:
1.1 etheisen 347: .SH "SEE ALSO"
348: less(1)
349:
1.1.1.2 ! millert 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:
1.1 etheisen 360: .SH COPYRIGHT
1.1.1.2 ! millert 361: Copyright (C) 2000 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: