我想按M-j并让 readline 将光标放在下一行,而无需输入命令。这样我就能够将一个字符返回到上一行。这回答认为这是不可能的。我认为这是错误的。
您可以删除换行符,然后将其拉出。这实现了我想要做的事情。但是我就是无法创建绑定。
要测试这个类型:echo <<EOF
RETURNENTERC-cC-pM-1C-dC-c
现在你应该在换行符上,输入C-y。它实现了我想要的效果!但是这是什么字符?inputrc 文件中的哪些绑定有效?
编辑:事实证明该字符是换行符。仍然不确定如何绑定它。
答案1
您可以使用 readline 的“quoted-insert”(通常绑定到 )输入换行符而不接受该行C-v,后跟换行符C-j。
“quoted-insert” 对于无需调用制表符补全 ( C-vC-i) 即可输入制表符也很有用。
答案2
bind '"\C-j": "\C-v\C-j"'