encontrado este hilo, I encontrar la respuesta de jens inaceptable. No pedimos que nos digan que no lo hagamos. No me gustaban las otras respuestas, siempre había alguna peculiaridad, como configuraciones no utilizadas o una ventana de línea de comando extra apareciendo. Hice algunas excavaciones y esto funciona para mí. Sin caja de línea de comando extra para nada y usa mi configuración de gvim adecuada.
alias gvim='HOME=/cygdrive/p/ cygstart /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim74/gvim.exe'
Simplemente necesita modificar el INICIO al suyo. Para averiguar qué poner allí, ejecuta gvim desde windows y luego ingresa "echo $ HOME" y presiona enter en mi caso muestra P: \ para que se traduzca en/cygdrive/p/
También si tu gvim.exe está en un directorio/versión diferente que necesitará ajustar.
Ahora cuando escribo 'gvim script.sh' en un símbolo del sistema cygwin, lanza gvim con el archivo, ¡todo bien y limpio!
ACTUALIZACIÓN
He encontrado un poco mejor manera de hacer esto. Usar el alias estaba atando mi sesión de la que ejecuté el gvim, quería que se iniciara como un proceso separado, usar "gvim &" es poco elegante ya que enumera el número de trabajo cuando se inicia y muestra una línea "terminada" cuando se completa. Soy demasiado quisquillosa, así que descubrí cómo hacer que todo esté ordenado usando una función.
Simplemente agregue esto a su archivo .bash_functions, se basa en la sección anterior relacionada con el directorio inicial y el uso de barra diagonal inversa.
gvim() {
ORIGHOME=$HOME
HOME=/cygdrive/p/
/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim74/gvim.exe $1 & disown
HOME=$ORIGHOME
} 2>/dev/null
ACTUALIZACIÓN 2 para los usuarios babun!
bien ya haber luchado con este principio que haber terminado el desguace del cygwin instalación original a favor de babun que parece ser un montaje menos problemático para aquellos que quieran funcionalidad de Linux en Windows sin un verdadero virtual. Por supuesto, mi script de inicio de gvim se rompió, y tuve que hacer lo siguiente en mi archivo .zshrc (babun usa zsh, al principio me resistí y lo cambié a bash pero luego cedí ya que pensé que debían tener una razón, y lo hicieron, yo al igual que)
gvim() {
OLD_HOME=$HOME
OLD_VIMRUNTIME=$VIMRUNTIME
export HOME=/cygdrive/c/Users/gmitchell/
export VIMRUNTIME="C:\Program Files (x86)\VIM\vim74"
TARGET=$(cygpath -w $1)
(/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim74/gvim.exe $TARGET &)
export HOME=$OLD_HOME
export VIMRUNTIME=$OLD_VIMRUNTIME
}
* Nota: los apoyos curvos circundantes() detiene el ID de tarea de echar a perder su cáscara limpia, y ya no necesita el "repudian"
PS La única molestia que queda con esto ahora es que no puedes "salir" del shell babun hasta que todas las instancias gvim que hayas lanzado estén cerradas. Tal vez alguien pueda darse cuenta de eso. He intentado. Cuando escribe exit, simplemente se cuelga allí hasta que haya salido de todos los gvims.
¡Gracias por su irritabilidad! Esto funciona como yo quisiera, con un inconveniente: HOME se deja configurado de la manera que gvim quiere, no de la manera que mi cygwin shell quiere. Además, creo que para C: \ P, querrás usar '/ cygdrive/c/P'. – jspencer
Tiene razón, habría sido/cygdrive/c/P, pero cometí un error cuando lo tipeé de alguna manera, estaba mostrando P: \ ya que mi homedir de Windows se configura en una unidad P. No había notado ese problema con cygwin vs gvim home settings, solo lo probé y está en lo correcto, deja mi shell cygwin con change $ HOME, arreglaré mi script para llevar el $ HOME original a través del comando. – low351
@jspencer, acabo de notar que ha publicado una corrección, bien hecho. Gracias por ser tan quisquilloso como yo :) Estoy usando tu versión ... – low351