如何使用bind(或.inputrc)将两个bash命令映射到一个键?

如何使用bind(或.inputrc)将两个bash命令映射到一个键?

通常,我在 bash 中使用 vi 模式。它以插入模式开始,您必须点击Esc(或者Altj是吗?)才能进入正常(命令)模式。

我还将(向上箭头)绑定到history-search-backward.

我想要的是,当我点击向上箭头时,它不仅会向后搜索历史记录,还会将我设置为正常模式。 (有点像 tcsh 的行为。)

我在 .inputrc 中找到了很多相关的帖子和​​做了聪明事情的人,但没有什么比我在这里所追求的更好。 (喜欢尤其。)

这在 bash 中可能吗?

答案1

尝试:

bind -m vi-move '"\e[A": history-search-backward'
bind -m vi-insert '"\e[A": " \e\e[A"'

(假设向上键正在发送\e[A转义)

我认为除了(间接)将键绑定到宏之外这是不可能的。

相关内容