假设我想从命令行打开 Chrome、Sublime Idea 等,同时保持对终端的控制。
当您按下+或其他方便的组合键时,有没有办法将& disown
命令附加到 Bash 中?CtrlEnter
我尝试为它们创建别名,例如alias subl='subl & disown'
,但传递参数不再起作用,而且必须为我想要使用的所有程序编写别名,这太麻烦了。一定有更聪明的方法。
答案1
从您的评论中:
我添加
"\C-e": ' & disown\n'
了.inputrc
,它在Ctrl+上执行了我想要的操作e。出于某种原因,它不能\n
代替e
。
我不认为\n
这是正确的字符串,但有一个更大的问题:在控制台Enter本身中,\C-M
即Ctrl+ M,所以Ctrl+Enter只是Enter,你无法区分它们。
但是,你可以区分Enter和Meta (aka Alt)+ Enter。将此行放入你的 中.inputrc
:
"\C-\M-M":' & disown\n'
只要你想使用它,就按Meta (aka Alt)+ 。Enter
答案2
我了解到\rCtrl与+共享相同的 ASCII 代码M,这意味着Ctrl+Enter相当于Ctrl+ Ctrl+ M。按Ctrl两次没有任何意义,因此Ctrl在Enter没有 xterm 的情况下,不能在终端中一起使用翻译。
我设法通过添加来实现Ctrl+ 的效果。E"\C-E": ' & disown\n '
.inputrc