我正在写一个* nix shell,我想支持 Ctrl - Enter 的组合键。我使用的库是GNU readline。
我花了好几个小时,但找不到方法。
我可以成功绑定 Enter ,例如:
=========〜/ .inputrc ===============
viewDidLoad
====================================
当我按 Enter 时,我得到了" sdf"和预期一样回应。
我也可以成功绑定 Esc , Enter (注意,这里是关键序列,而不是组合),如:
=========〜/ .inputrc ===============
"\C-M": "sdf"
====================================
当我按 Esc 然后按 Enter ," sdf"如预期般回应。
但是,以下行无法生成有效的 Ctrl - Enter 组合:
=========〜/ .inputrc ===============
"\e\C-M": "sdf"
====================================
并且," \ C- \ C-M"也不起作用。
以下是两个相关问题:
How to bind Ctrl-Enter in fish?
任何人都可以帮助我吗?
答案 0 :(得分:0)
您没有提到您使用的终端仿真器 - 这很重要,因为最后,当您按 CTRL + ENTER时,终端决定程序从中读取的内容
实现这项工作的一种方法是(假设您使用xterm
):
让xterm
发送,例如 CTRL + k 按 CTRL + ENTER ,在.Xdefaults
中添加一行:
XTerm.vt100.translations: #override Ctrl<Key>Return: string("\013")
将此绑定到.inputrc
"\C-k": "sdf"
不是很优雅,因为这只适用于xterm
。但是,据我所见,唯一可以得到你想要的东西。