Por que iniciar o gvim no ConEmu funciona com uma tarefa, mas não na linha de comando?

Por que iniciar o gvim no ConEmu funciona com uma tarefa, mas não na linha de comando?

Quando eu insiro isso no ConEmu:

gvim --windowid %ConEmuBackHWND% -new_console:sH

Recebo uma divisão em branco que depois de um tempo diz o seguinte:

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

Ao tentar descobrir o que estava errado, fiz uma tarefa "Gvim" com o seguinte conteúdo de comando:

gvim --windowid %ConEmuBackHWND% -new_console:sH

(O mesmo que o comando que digitei acima na linha de comando)
E quando eu sei iniciar a tarefa na caixa de diálogo "Criar novo console", tudo funciona bem e recebo uma janela filho do gvim como minha divisão direita!

Como os comandos estão sendo executados na caixa de diálogo "Criar novo console" e como posso fazer com que o comando acima gere uma divisão do gvim diretamente do console?

Responder1

ProcessExplorer é uma ferramenta muito útil para detectar problemas com variáveis ​​de ambiente e coisas assim... Acho que você tem problemas por causa da expansão de variáveis. Tente seguir

gvim --windowid !ConEmuBackHWND! -new_console:sH

Ao executar o comando com sinais de porcentagem, a CLI substitui as variáveisantesConEmu obtém o comando. Então, você estava tentando executar o gvim em uma nova divisão, mas informando HWND dedivisão antiga.

Ao usar sinais de exclamação, as variáveis ​​​​não são expandidas, o ConEmu mantém o comando intacto e !ConEmuBackHWND!é expandido pelo próprio ConEmu no momento adequado, após a divisão ser criada e novas variáveis ​​​​inicializadas.

informação relacionada