如何正确获取 .inputrc 中 readline 的 RIGHT KEYSEQ?

Din*_*lla 6 keyboard-layout shortcut-keys input

我的挣扎:

我正在将~/.inputrc文件配置为与我的自定义 emacs 键绑定相同,并且我在 readline 的键序列方面非常挣扎。

我的意思是,如果我想设置<up>/ <down>,我必须将其设置为"\e[A"/"\e[B"

<F1>..<F12>如果我想绑定一些东西,让我们(kbd "C-x <M-f7>")在 emacs 术语中说(即:[control]+[x] [alt]+[f7]成为一个 keyeq),我怎么能推断出keyseq ?


我想要的是:

是否有任何命令可以告诉我键盘上的某个键的转义序列是什么?如果没有任何命令,是否还有其他资源(文章/表格/...)有一些提示?

--> goal: replace <KEY SEQUENCE> with proper keyseq

"<f3>"           : start-kbd-macro
"<S-f4>"         : end-kbd-macro
"C-x <C-M-S-f4>" : dump-macro
"<f4>"           : call-last-kbd-macro
... more keybindings ...
Run Code Online (Sandbox Code Playgroud)

Din*_*lla 4

我找到了解决方案:使用emacs -nw和功能insert-quoted(默认绑定到Ctrl+ q)。

\n

Ctrl+将q \xe2\x86\x91导致^[[A
\n Ctrl+q F1^[[[A

\n

然后将出现以下行~/.inputrc(结果可能会因环境而异 - 主要是 $TERM 变量):

\n
"\\e[[A": "pressed up key"\n"\\e[[[A": "pressed F1"\n
Run Code Online (Sandbox Code Playgroud)\n
\n

更改 .inputrc 的动机可能如下。

\n

您不喜欢像 emacs 一样的按键来沿着线路和历史进行导航吗?
\n我不喜欢,而且我更喜欢ErgoEmacs键绑定,因为它们是合乎逻辑的,而且我不仅想在 Emacs 中使用它们,而且想在系统范围内使用它们。

\n
"\\ej": backward-char\n"\\el": forward-char\n"\\ei": previous-history\n"\\ek": next-history\n"\\eh": beginning-of-line\n"\\eH": end-of-line\n"\\eu": backward-word\n"\\eo": forward-word\n"\\eg": kill-line\n"\\eG": backward-kill-line\n"\\ee": backward-kill-word\n"\\er": kill-word\n"\\ed": backward-delete-char\n"\\ef": delete-char\n"\\ez": undo\n"\\ex": kill-region\n"\\ec": copy-region-as-kill\n"\\ev": yank\n"\\e;": forward-search-history\n"\\e:": reverse-search-history\n
Run Code Online (Sandbox Code Playgroud)\n

我已经写了很多次“sudo aptitude install”(通常在全新安装之后),我有M-a M-i(即Alt+ a Alt+ i)作为快捷方式(因为alias同样的事情不会自动完成)

\n
"\\ea\\ei": "sudo aptitude install "\n
Run Code Online (Sandbox Code Playgroud)\n
\n

还有很多其他原因说明您应该拥有自己的~/.inputrc...

\n