Vim lançamento silencioso do ConEmu (no Git Bash) - o Prompt de Comando do Windows 7 aproveita

3

De um prompt de comando do Windows 7:

ConEmu.exe /cmd "C:\Program Files\Git\bin\sh.exe" --login -i && exit

abre o ConEmu (ou uma nova aba) logado no Git Bash para o diretório atual, e (muito rapidamente) sai da janela do Prompt de Comando, tudo bem .

De gVim:

:silent !ConEmu.exe /cmd "C:\Program Files\Git\bin\sh.exe" --login -i
  1. se ConEmu já estava rodando, abre uma nova aba registrada no Git Bash para o diretório do buffer, e sai da janela intermediária do Prompt de Comando, e me retorna ao meu buffer atual, tudo bem .
  2. se o ConEmu não estava em execução, ele foi aberto no Git Bash como acima, mas a janela intermediária do Prompt de Comando é deixada em um estado , exigindo que eu o encerre para descongelar o gVim. (Acrescentar $$ exit ao comando gVim acima não ajuda.)

A pergunta: Como posso corrigir o segundo caso do gVim, de forma que a janela do Prompt de Comando, chamada por gVim, feche automaticamente, como no primeiro caso do gVim?

Informação suplementar do gVim (respondendo a @Maximus):

VIM - Vi IMproved 7.4 (2013 10 de agosto, compilado em 29 de agosto de 2014 07:03:32)

Sysinternals ' Process Monitor Filter ' d para Operation Process Start descobre que essa hierarquia de Comandos, todos rotulados como "(ConEmu.exe)", é acionada por :!ConEmu :

  1. "C:\Program Files\vim\vim74\vimrun" C:\windows\system32\cmd.exe /c
  2. C:\windows\system32\cmd.exe /c C:\windows\system32\cmd.exe /c
  3. C:\windows\system32\cmd.exe /c

vimrun.exe não está em% PATH%.

Tentativa alternativa do gVim, usando win32-! start :

Don Reba no Vim Wikia explica :

if you enter a command like :!calc (to run calc.exe for the Windows calculator), Vim will open a shell window, then launch a new calc window from that shell. When calc is closed, the prompt Hit any key to close this window... appears, and Vim is frozen until a key is pressed. But Calculator is a GUI program so it runs in a new process, in a new window. So, if you want to asynchronously run a GUI program like Calculator, you can simply enter :!start calc

Então eu tentei:

!start ConEmu.exe /cmd "C:\Program Files\Git\bin\sh.exe" --login -i && exit

- que não captura o gVim e abre uma nova guia do ConEmu no Git no diretório de trabalho do gVim, mas não consegue fazer o login, reportando sh.exe": &&: No such file or directory , seguido por:

Command to be executed: "C:\Program Files\Git\bin\sh.exe" --login -i && exit
ConEmuC: Root process was alive less than 10 sec, ExitCode=127.
Press Enter or Esc to close console...

    
por JosephHarriott 14.11.2014 / 21:07

0 respostas