On Monday, August 30, 2021 at 10:33:27 AM UTC+8, Janis Papanagnou wrote:
You should mention that you are asking for a _bash_ specific 'bind' function. - Doesn't the bash man page explains it?
Yes. There are some explanations in bash man page:
###################
$ help bind
bind: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]
Set Readline key bindings and variables.
Bind a key sequence to a Readline function or a macro, or set a
Readline variable. The non-option argument syntax is equivalent to
that found in ~/.inputrc, but must be passed as a single argument:
e.g., bind '"\C-x\C-r": re-read-init-file'.
Options:
-m keymap Use KEYMAP as the keymap for the duration of this
command. Acceptable keymap names are emacs,
emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,
vi-command, and vi-insert.
-l List names of functions.
-P List function names and bindings.
-p List functions and bindings in a form that can be
reused as input.
-S List key sequences that invoke macros and their values
-s List key sequences that invoke macros and their values
in a form that can be reused as input.
-V List variable names and values
-v List variable names and values in a form that can
be reused as input.
-q function-name Query about which keys invoke the named function.
-u function-name Unbind all keys which are bound to the named function.
-r keyseq Remove the binding for KEYSEQ.
-f filename Read key bindings from FILENAME.
-x keyseq:shell-command Cause SHELL-COMMAND to be executed when
KEYSEQ is entered.
-X List key sequences bound with -x and associated commands
in a form that can be reused as input.
Exit Status:
bind returns 0 unless an unrecognized option is given or an error occurs. ###################
But I've previously checked the following:
$ man bind
BIND(2) Linux Programmer's Manual BIND(2)
NAME
bind - bind a name to a socket
Regards,
HY
On 30.08.2021 04:09, [email protected] wrote:
I use hstr [1] to view, navigate, search and manage my command history, which uses the following keyboard shortcut binding:
$ bind -S
\C-r outputs \C-a hstr -- \C-j
\C-xk outputs \C-a hstr -k \C-j
I've checked the built-in help of bind command, but still don’t understand how these keyboard shortcuts work.
Any more hints will be highly appreciated.
[1] https://github.com/dvorka/hstr
Regards,
HY
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)