如何在 运行 宁 ConEmu 实例中从其他进程中 运行 命令

How to run command in running ConEmu instance from other process

我希望能够从另一个进程在当前可见的 conemu 控制台中执行命令。具体来说,我想从这个 ConEmu 控制台内部启动的 gvim 实例发送我的构建命令(所以它有 ConEmu 设置的各种变量,比如 ConEmuHWND 等......我认为这是解决方案的关键)。

到目前为止我已经接近这个:

!start ConEmuC.exe /ATTACH /GHWND=<ConEmuHwnd from env var here> /C <my build command>

打开后会在我的 ConEmu window 中添加一个新选项卡并执行给定的命令。 这样的事情可能吗?

你怎么想的?那么,当您的 shell 处于交互式循环内时,ConEmu 会启动新进程,会发生什么?两者都会读取控制台、处理控制台事件(如 CtrlC)并且有很多竞争条件。这就是为什么它没有在 ConEmu 中实现的原因。

最正确的方法 - 开始新标签页,你已经完成了。

还有另一种方法 - 使用 GuiMacro Paste 将命令粘贴到 shell 提示符中。您甚至可以通过将 \n 附加到命令来自动执行它。当然,如果你 shell (active tab) 不在交互循环中,这个方法就会失败。