Bash vi 模式:模拟 Enter 绑定

Bash vi 模式:模拟 Enter 绑定

我的 .bashrc 中有一个函数fh()。我想在 vi-insert-mode 中绑定 Ctrl-F 来运行此函数。

我努力了

bind '"\C-F":"fh\n"'

这会在终端中输入 fh 并尝试自动完成命令。在网上搜索后,我以为 \n 应该模拟按下 Enter 键。

我发现了很多关于在 vi-insert-mode 中绑定 bash 命令的线程,但没有一个讨论函数。

有没有办法在 .inputrc 而不是 .bashrc 中进行绑定?

答案1

当然,我在发布问题 5 分钟后就找到了解决方案,但之后花了几个小时寻找答案......

\n用回车键的文字字符替换了它,就像^M在 vim 中显示的那样。

引用巴枯宁的评论来自 unix.com 的帖子

无论如何,要输入文字“ENTER 键”,请在 vi 中打开脚本文件。

  • 将光标定位在您想要输入键的位置,然后使用“i”进入插入模式。

  • 然后输入 CTRL-V,这会让 vi 将下一个字符视为文字。然后按 ENTER 键,屏幕上将出现“^M”。

请注意,“^M”不是两个字符(插入符号和“M”),而是一个。当您用光标移到它上面时,您就会看到这一点。

答案2

您需要将其作为脚本而不是函数。

相关内容