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.
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).
Please take a moment to fill out
this visitor survey You can help support this site by
visiting the advertisers that sponsor it! (only once each, though)