[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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 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_bind_key_if_unbound (int key, rl_command_func_t *function)
Binds key to function if it is not already bound in the currently active keymap. Returns non-zero in the case of an invalid key or if key is already bound.
- Function: int rl_bind_key_if_unbound_in_map (int key, rl_command_func_t *function, Keymap map)
Binds key to function if it is not already bound in map. Returns non-zero in the case of an invalid key or if key is already bound.
- 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_bind_keyseq (const char *keyseq, rl_command_func_t *function)
Bind the key sequence represented by the string keyseq to the function function, beginning in the current keymap. This makes new keymaps as necessary. The return value is non-zero if keyseq is invalid.
- Function: int rl_bind_keyseq_in_map (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. Initial bindings are performed in map. The return value is non-zero if keyseq is invalid.
- Function: int rl_set_key (const char *keyseq, rl_command_func_t *function, Keymap map)
Equivalent to
rl_bind_keyseq_in_map
.
- Function: int rl_bind_keyseq_if_unbound (const char *keyseq, rl_command_func_t *function)
Binds keyseq to function if it is not already bound in the currently active keymap. Returns non-zero in the case of an invalid keyseq or if keyseq is already bound.
- Function: int rl_bind_keyseq_if_unbound_in_map (const char *keyseq, rl_command_func_t *function, Keymap map)
Binds keyseq to function if it is not already bound in map. Returns non-zero in the case of an invalid keyseq or if keyseq is already bound.
- 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 Readline Init File).
- Function: int rl_read_init_file (const char *filename)
Read keybindings and variable assignments from filename (see section Readline Init File).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |