Do we have a key bindings table that translates all the various ways of referring to a key press? I'm using zsh, but I presume that if there was such a table it would work for any shell.
The reason I ask is that I'd like to assign some keybindings and I have no way of knowing how to refer to them (unless I'm going to steal one that's already defined).
For example, in 'zbindkey' we have this sort of thing:
[[ "$terminfo[kend]" == " O"* ]] && \ bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line ... and I can guess that "kend" means that this refers to the End key.
Cross checking with bindkey I see these lines:
"^E" end-of-line "^[OF" end-of-line "^[[F" end-of-line ... so I trust that one of those lines refers to the End key. Which one?
We also have this in the "bindkey" file:
bindkey "\e[A" history-beginning-search-backward Now, I happen to know that that's the Up Arrow key, but how could I find out if I didn't know?
$ bindkey (at CLI) ... gives us a different language for the same key:
"^[[A" history-beginning-search-backward ... but at least now I know that ^[[A in bindkey-at-CLI speak is the same thing as \e[A in bindkey-in-zbindkey speak. That's easy. In the old days in DOS, the Up Arrow was 0;72 -- you could find the scan code of every legal keystroke and there was only the one language.
Is there a table? Or some other way of being able to pick a keystroke and know how to refer to it in terminfo[] ... in " bindkey-in-zbindkey " ... in "bindkey-at-CLI " and/or in whatever other languages there may happen to be?
Again, in DOS there was the scancode program -- type a keystroke, and you got the scancode. It was sinfully easy.
From the answers I guess then that there is no way to print out a table of all possible bindings? Anyway 'bindkey' does almost what I want:
pts/2 HP-y5-10-Debian1 root /aWorking/Docs $ bindkey -L bindkey "^@" set-mark-command bindkey "^A" beginning-of-line bindkey "^B" backward-char bindkey "^D" delete-char-or-list bindkey "^E" end-of-line ... at least I can see all existing bindings, even if not all possible bindings. Now, if there was just some way of translating the key glyphs into 'regular' terms:
bindkey "Home" beginning-of-line ... then I'd be happy.
stty -asayslnextis) then the key.