在键盘绑定时在后台启动进程(在 Ctrl+Enter 上附加 `&disown`)

在键盘绑定时在后台启动进程(在 Ctrl+Enter 上附加 `&disown`)

假设我想从命令行打开 Chrome、Sublime Idea 等,同时保持对终端的控制。

当您按下+或其他方便的组合键时,有没有办法将& disown命令附加到 Bash 中?CtrlEnter

我尝试为它们创建别名,例如alias subl='subl & disown',但传递参数不再起作用,而且必须为我想要使用的所有程序编写别名,这太麻烦了。一定有更聪明的方法。

答案1

从您的评论中:

我添加"\C-e": ' & disown\n'.inputrc,它在Ctrl+上执行了我想要的操作e。出于某种原因,它不能\n代替e

我不认为\n这是正确的字符串,但有一个更大的问题:在控制台Enter本身中,\C-MCtrl+ M,所以Ctrl+Enter只是Enter,你无法区分它们。

但是,你可以区分EnterMeta (aka Alt)+ Enter。将此行放入你的 中.inputrc

"\C-\M-M":' & disown\n'

只要你想使用它,就按Meta (aka Alt)+ 。Enter

答案2

我了解到\rCtrl与+共享相同的 ASCII 代码M,这意味着Ctrl+Enter相当于Ctrl+ Ctrl+ M。按Ctrl两次没有任何意义,因此CtrlEnter没有 xterm 的情况下,不能在终端中一起使用翻译

我设法通过添加来实现Ctrl+ 的效果。E"\C-E": ' & disown\n '.inputrc

相关内容