Можно ли заставить gVim выполнять внешние команды в cygwin по умолчанию?

Можно ли заставить gVim выполнять внешние команды в cygwin по умолчанию?

Можно ли заставить gVim (в Windows) выполнять внешние команды в Cygwin по умолчанию? То есть !ps откроет терминал Cygwin, показывающий текущие запущенные процессы?

решение1

Сначала вам нужно указать Vim запуститьБашпрограмма вместоcmd.exe, а bash необходимо запустить как оболочку входа, чтобы она могла прочитать сценарии профиля/входа и правильно настроить среду (PATH и т. д.).

Вам также необходимо изменить настройку, которая вводит параметры командной строки в оболочку:

:set shell=C:\Cygwin\bin\bash.exe\ -login
:set shellcmdflag=-c

Если ваши команды cygwin требуют аргументов, вам, вероятно, следует также

:set shellquote=\"

чтобы гарантировать, что вся команда правильно заключена в кавычки, в противном случае оболочка получит только первое слово и проигнорирует остальные.

Связанный контент