Во-первых, вы должны указать Vim запустить программу bash вместо cmd.exe, а bash необходимо запустить как оболочку входа в систему, чтобы он считывал сценарии профиля / входа и правильно настраивал среду (PATH и т. Д.).
Вам также необходимо изменить параметр, который вводит параметры командной строки для оболочки:
:set shell=C:\Cygwin\bin\bash.exe\ -login :set shellcmdflag=-c
Если ваши команды cygwin требуют аргументов, вам, вероятно, следует также
:set shellquote=\"
чтобы гарантировать, что вся команда будет заключена в кавычки, иначе оболочка получит только первое слово и проигнорирует остальные.