Pregunta:
¿Es posible hacer que gVim (en Windows) ejecute comandos externos en cygwin de forma predeterminada? es decir,! ps abrirá una terminal cygwin que muestra los procesos en ejecución actualmente?
Respuesta:
Primero debe decirle a Vim que ejecute el programa bash en lugar de cmd.exe , y bash debe ejecutarse como un shell de inicio de sesión para que lea los scripts de perfil / inicio de sesión y configure el entorno (PATH, etc.) correctamente.
También necesita cambiar la configuración que introduce opciones de línea de comandos en el shell:
:set shell=C:\Cygwin\bin\bash.exe\ -login
:set shellcmdflag=-c
Si sus comandos cygwin requieren argumentos, probablemente también debería
:set shellquote=\"
para asegurarse de que todo el comando quede entre comillas correctamente, de lo contrario, el shell solo obtendrá la primera palabra e ignorará el resto.