infokey - compile custom key bindings file
infokey [--help] [--version] [--output file] [input file]
The infokey utility compiles a source file ($HOME/.infokey
by default)
containing info(1) customizations into a binary format
($HOME/.info by
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
option is
--output file. This tells infokey to write the binary data
to file instead
of $HOME/.info.
The format of the source file read by infokey is most easily
illustrated
by example. For instance, here is a sample .infokey source
file suitable
for aficionados of vi(1) or less(1):
#info
j next-line
k prev-line
l forward-char
h backward-char
next-line
prev-line
forward-char
backward-char
scroll-forward
scroll-forward-page-only
b scroll-backward
scroll-backward-page-only
g beginning-of-node
beginning-of-node
G end-of-node
end-of-node
select-reference-this-line
- history-node
n next-node
p prev-node
u up-node
t top-node
d dir-node
#var
scroll-step=1
The source file consists of one or more "sections". Each
section starts
with a line that identifies the type of section. Possible
sections are:
#info Key bindings for info(1) windows. The start of this
section is
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
and/or tabs.
Comment is any sequence of any characters, excluding
newline.
STRING is the key sequence which invokes the action.
ACTION is
the name of an info(1) command. The characters in
STRING are interpreted
literally or prefixed by a caret (`^') to
indicate a
cBntrol character. A backslash followed by certain
characters a
scecifies input keystrokes as follows:
k
`s
p
`\' Escape (ESC)
c
`0 Newline
' Return
`
`' Tab
`' Up arrow
`' Down arrow
`' Left arrow
`' Right arrow
`' Page Up
`' Page Down
`' HOME
`' END
`' Delete (DEL)
`mX' Meta-X where X is any character as described
above.
Backslash followed by any other character indicates
that character
is to be taken literally. Characters which must
be preceded
by a backslash include caret, space, tab, and backslash itself.
#echo-area
Key bindings for the echo area. The start of this
section is indicated
by a line containing just `#echo-area' by
itself. The
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
is indicated
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
whitespace, are
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
info's default
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:
#stop
This will cause info(1) to ignore all the default key commands for that
section.
Beware: `#stop' can be dangerous. Since it disables all default key
bindings, you must supply enough new key bindings to enable
all necessary
actions. Failure to bind any key to the `quit' command, for
example, can
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
`get-help-window'
command only displays the first key that is bound to
each command.
$HOME/.infokey Default souce file for customizations.
$HOME/.info Default binary file for customizations.
info(1)
bug-texinfo@gnu.org
OpenBSD 3.6 February 15, 2003
[ Back ] |