![在 Bash 中将键绑定到换行符,而无需提交命令](https://linux22.com/image/1445380/%E5%9C%A8%20Bash%20%E4%B8%AD%E5%B0%86%E9%94%AE%E7%BB%91%E5%AE%9A%E5%88%B0%E6%8D%A2%E8%A1%8C%E7%AC%A6%EF%BC%8C%E8%80%8C%E6%97%A0%E9%9C%80%E6%8F%90%E4%BA%A4%E5%91%BD%E4%BB%A4.png)
我想按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"'