infokey - compile custom key bindings file
infokey [--help] [--version] [--output file] [input file]
The infokey utility compiles a source file ($HOME/.infokey
containing info(1) customizations into a binary format
default). info(1) reads the binary file at startup to override the default
key bindings and variable definitions.
Besides the standard --help and --version options, the only
--output file. This tells infokey to write the binary data
to file instead
The format of the source file read by infokey is most easily
by example. For instance, here is a sample .infokey source
for aficionados of vi(1) or less(1):
The source file consists of one or more "sections". Each
with a line that identifies the type of section. Possible
#info Key bindings for info(1) windows. The start of this
indicated by a line containing just `#info' by itself. If this
is the first section in the source file, the `#info'
line can be
omitted. The rest of this section consists of lines
of the form:
STRING whitespace ACTION [ whitespace [ # comment ] ] newline
Whitespace is any sequence of one or more spaces
Comment is any sequence of any characters, excluding
STRING is the key sequence which invokes the action.
the name of an info(1) command. The characters in
STRING are interpreted
literally or prefixed by a caret (`^') to
cBntrol character. A backslash followed by certain
scecifies input keystrokes as follows:
`\' Escape (ESC)
`' Up arrow
`' Down arrow
`' Left arrow
`' Right arrow
`' Page Up
`' Page Down
`' Delete (DEL)
`mX' Meta-X where X is any character as described
Backslash followed by any other character indicates
is to be taken literally. Characters which must
by a backslash include caret, space, tab, and backslash itself.
Key bindings for the echo area. The start of this
section is indicated
by a line containing just `#echo-area' by
rest of this section has a syntax identical to that
for the key
definitions for the info(1) area, described above.
#var Variable initializations. The start of this section
by a line containing just `#var' by itself. Following this line
is a list of variable assignments, one per line.
Each line consists
of a variable name followed by `=', followed
by a value.
There may be no whitespace between the variable name
and the `=',
and all characters following the `=', including
included in the value.
Blank lines and lines starting with `#' are ignored, except
for the special
section header lines.
Key bindings defined in the .info file take precedence over
key bindings, whether or not --vi-keys is used. A default key
binding may be disabled by overriding it in the .info file
with the action
`invalid'. In addition, all default key bindings can
be disabled by
adding this line anywhere in the relevant section:
This will cause info(1) to ignore all the default key commands for that
Beware: `#stop' can be dangerous. Since it disables all default key
bindings, you must supply enough new key bindings to enable
actions. Failure to bind any key to the `quit' command, for
lead to frustration.
The order in which key bindings are defined in the .info
file is not important,
except that the command summary produced by the
command only displays the first key that is bound to
$HOME/.infokey Default souce file for customizations.
$HOME/.info Default binary file for customizations.
OpenBSD 3.6 February 15, 2003
[ Back ]