為什麼在 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 取得指令。所以,你試圖在新的 split 中運行 gvim,但告訴它 HWND舊分裂

當您使用感嘆號時,變數不會擴展,ConEmu 不會改變命令,並且!ConEmuBackHWND!在創建 split 並初始化新變數之後,ConEmu 本身會在適當的時候擴展變數。

相關內容