2.4.3 Binding Keys
Key sequences are associate with functions through the keymap.
Readline has several internal keymaps: emacs_standard_keymap
,
emacs_meta_keymap
, emacs_ctlx_keymap
,
vi_movement_keymap
, and vi_insertion_keymap
.
emacs_standard_keymap
is the default, and the examples in
this manual assume that.
Since readline()
installs a set of default key bindings the first
time it is called, there is always the danger that a custom binding
installed before the first call to readline()
will be overridden.
An alternate mechanism is to install custom key bindings in an
initialization function assigned to the rl_startup_hook
variable
(see section 2.3 Readline Variables).
These functions manage key bindings.
- Function: int rl_bind_key (int key, rl_command_func_t *function)
- Binds key to function in the currently active keymap.
Returns non-zero in the case of an invalid key.
- Function: int rl_bind_key_in_map (int key, rl_command_func_t *function, Keymap map)
- Bind key to function in map. Returns non-zero in the case
of an invalid key.
- Function: int rl_unbind_key (int key)
- Bind key to the null function in the currently active keymap.
Returns non-zero in case of error.
- Function: int rl_unbind_key_in_map (int key, Keymap map)
- Bind key to the null function in map.
Returns non-zero in case of error.
- Function: int rl_unbind_function_in_map (rl_command_func_t *function, Keymap map)
- Unbind all keys that execute function in map.
- Function: int rl_unbind_command_in_map (const char *command, Keymap map)
- Unbind all keys that are bound to command in map.
- Function: int rl_set_key (const char *keyseq, rl_command_func_t *function, Keymap map)
- Bind the key sequence represented by the string keyseq to the function
function. This makes new keymaps as
necessary. The initial keymap in which to do bindings is map.
- Function: int rl_generic_bind (int type, const char *keyseq, char *data, Keymap map)
- Bind the key sequence represented by the string keyseq to the arbitrary
pointer data. type says what kind of data is pointed to by
data; this can be a function (
ISFUNC
), a macro
(ISMACR
), or a keymap (ISKMAP
). This makes new keymaps as
necessary. The initial keymap in which to do bindings is map.
- Function: int rl_parse_and_bind (char *line)
- Parse line as if it had been read from the
inputrc
file and
perform any key bindings and variable assignments found
(see section 1.3 Readline Init File).
- Function: int rl_read_init_file (const char *filename)
- Read keybindings and variable assignments from filename
(see section 1.3 Readline Init File).
This document was generated
by (Blade) GNU s/w Owner on November, 10 2001
using texi2html