我已经使用 Vi 键绑定设置了 bash,但是当命令完成运行时,它返回到插入模式而不是移动模式。我可以使用bind '"\C-M":vi-movement-mode'
my.bashrc
将回车键映射到移动模式,但这不允许运行键入的命令。
我可以用
bind '"jj":vi-movement-mode'
bind '"\C-M":"jj\n"'
当按下回车键时退出移动模式,但当命令完成时返回插入模式。
这很有用,因为这意味着我可以输入命令,然后使用“k”向后滚动命令历史记录,或使用“p”粘贴另一个命令,而不必每次都退出插入模式。
如何设置单个键绑定来运行命令并退出插入模式?
可能是不必要的信息,但我正在带有 Windows 终端的 cygwin 上运行(痛苦但必要)。
答案1
更新:与技术问题一样,我在发布问题 20 分钟后找到了答案(并且花了很长时间寻找解决方案)。我发现使用\njj
而不是jj\n
做到了这一点。不是特别好,但似乎有效。
为有相同问题的其他人更新了命令(放入.bashrc
)
bind '"jj":vi-movement-mode'
bind '"\C-M":"\njj"'