为什么在 ConEmu 中启动 gvim 可以执行任务,但从命令行启动却不行?

为什么在 ConEmu 中启动 gvim 可以执行任务,但从命令行启动却不行?

当我在 ConEmu 中输入此内容时:

gvim --windowid %ConEmuBackHWND% -new_console:sH

我得到了一个空白的分割,过了一会儿,它显示以下内容:

GUI application (PID=384) was attached to ConEmu:
\Path\To\gvim.exe

在尝试找出问题所在时,我使用以下命令内容创建了一个“Gvim”任务:

gvim --windowid %ConEmuBackHWND% -new_console:sH

(与我在命令行中输入的命令相同)
当我知道从“创建新控制台”对话框启动任务时,一切都正常,并且我得到一个 gvim 子窗口作为我的右分割!

如何从“创建新控制台”对话框执行命令,以及如何使上述命令直接从控制台生成 gvim 分割?

答案1

ProcessExplorer 是检测环境变量和其他事物问题非常有用的工具...我认为您遇到的问题是由于变量扩展造成的。请尝试以下操作

gvim --windowid !ConEmuBackHWND! -new_console:sH

当您运行带有百分号的命令时,CLI 将替换变量ConEmu 获取命令。因此,您尝试在新的拆分中运行 gvim,但告诉它 HWND 来自旧分裂

当您使用感叹号时,变量不会扩展,ConEmu 不会改变命令,并且!ConEmuBackHWND!在创建 split 和初始化新变量后,ConEmu 本身会在适当的时刻扩展。

相关内容