Из командной строки Windows 7:
ConEmu.exe /cmd "C:\Program Files\Git\bin\sh.exe" --login -i && exit
открывает ConEmu (или новую вкладку в нем), вошедшую в Git Bash для текущего каталога, и (очень быстро) выходит из окна командной строки, все хорошо.
От gVim:
:silent !ConEmu.exe /cmd "C:\Program Files\Git\bin\sh.exe" --login -i
- если ConEmu уже запущен, открывает новую вкладку, зарегистрированную в Git Bash для каталога буфера, и выходит из промежуточного окна командной строки и возвращает меня в мой текущий буфер, все хорошо.
- если ConEmu не запущен, он открывается и входит в Git Bash, как указано выше, но промежуточное окно командной строки остается в захваченном состоянии, что требует от меня его завершения, чтобы разморозить gVim. (Добавление
$$ exit
к вышеуказанной команде gVim не помогает.)
Вопрос: Как я могу исправить второй случай gVim, чтобы окно командной строки, вызываемое gVim, автоматически закрывалось, как в первом случае gVim?
Дополнительная информация о gVim (в ответ на @Maximus):
VIM - Vi IMproved 7.4 (10 августа 2013 г., составлено 29 августа 2014 г. 07:03:32)
Sysinternals ' Process Monitor
Filter
' для Operation
Process Start
обнаруживает, что эта иерархия команд, все помеченные как "(ConEmu.exe)", запускаются :!ConEmu
:
"C:\Program Files\vim\vim74\vimrun" C:\windows\system32\cmd.exe /c
C:\windows\system32\cmd.exe /c C:\windows\system32\cmd.exe /c
C:\windows\system32\cmd.exe /c
vimrun.exe
отсутствует в% PATH%.
Альтернативная попытка от gVim, используя win32-!начать:
Дон Реба из Vim Wikia объясняет:
если вы введете команду, как:!calc (чтобы запустить calc.exe для калькулятора Windows), Vim откроет окно оболочки, а затем запустит новое окно calc из этой оболочки. Когда calc закрывается, появляется приглашение нажать любую клавишу, чтобы закрыть это окно ..., и Vim останавливается до тех пор, пока не будет нажата клавиша. Но калькулятор - это программа с графическим интерфейсом, поэтому он запускается в новом процессе, в новом окне. Итак, если вы хотите асинхронно запускать программу с графическим интерфейсом, например, калькулятор, вы можете просто ввести:!начать расчет
Итак, я попробовал:
!start ConEmu.exe /cmd "C:\Program Files\Git\bin\sh.exe" --login -i && exit
- который не захватывает gVim и открывает новую вкладку ConEmu в Git в рабочем каталоге gVim, но не может войти в систему, сообщая о sh.exe": &&: No such file or directory
, затем следует:
Команда для выполнения: «C:\Program Files\Git\bin\sh.exe» --login -i && exit
ConEmuC: корневой процесс был жив менее 10 секунд, ExitCode = 127.
Нажмите Enter или Esc, чтобы закрыть консоль ...