Vim readline 文件类型和语法

Vim readline 文件类型和语法

我的挣扎:

我正在将~/.inputrc文件配置为与我的自定义 emacs 键绑定相同,并且我对 readline 的键序列感到非常困惑。

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

我怎样才能推断keyseq,<F1>..<F12>或者即使我想绑定某些东西,比如用(kbd "C-x <M-f7>")emacs术语来说(即:成为[control]+[x] [alt]+[f7]一个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 ...

答案1

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

Ctrl+q 将导致^[[A
Ctrl+q F1^[[[A

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

"\e[[A": "pressed up key"
"\e[[[A": "pressed F1"

更改 .inputrc 的动机如下。

你不喜欢使用类似 emacs 的键来浏览行和历史记录吗?
我不喜欢,我更喜欢ErgoEmacs键绑定,因为它们合乎逻辑,而且我不仅在 Emacs 中而且在整个系统内使用它们。

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

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

"\ea\ei": "sudo aptitude install "

还有许多其他理由说明您应该拥有自己的~/.inputrc...

答案2

Vim readline 文件类型和语法

我找到Vim有一个 readline 文件类型插件,它可以帮助重写你的.inputrc.

该插件应该自动检测.inputrc,如果没有,您可以调用:set filetype=readline来选择它。

假设您有一个空行,"": readline-command您可以在插入模式()中将光标放在“”引号内,i然后按Ctrl+插入许多更神奇的咒语。Vkeystroke-combination

假设语法完成已打开,您可以自动完成 readline 命令。

相关内容