在 Bash 中将键绑定到换行符,而无需提交命令

在 Bash 中将键绑定到换行符,而无需提交命令

我想按M-j并让 readline 将光标放在下一行,而无需输入命令。这样我就能够将一个字符返回到上一行。这回答认为这是不可能的。我认为这是错误的。

您可以删除换行符,然后将其拉出。这实现了我想要做的事情。但是我就是无法创建绑定。

要测试这个类型:echo <<EOFRETURNENTERC-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"'

相关内容