如何在cygwin中启动Windows GUI程序?

act*_*tan 6 windows vim cygwin

我在Win7中安装了gVim,而且我正在使用cygwin.

当我在cygwin bashell时,我想输入"vim aaa.c",然后让我的Windows程序gVim为我打开aaa.c.

有人会告诉我做什么配置然后这可行吗?

直接在cygwin shell中键入"notepad"并按Enter键即可.我知道"记事本"可以在Windows的系统变量"路径"中找到,所以它可以工作.我已经尝试将我的gVim.exe的路径添加到系统变量"path"但它不起作用.

PS:如果你在cygwin shell中输入"run notepad",它也会启动Windows记事本.但是如何让我的gVim被cygwin认可就像'记事本'一样?我不想每次都在cygwin shell中输入我的gVim的完整安装路径.

谢谢!

Xua*_*uan 8

最简单的解决方案是在.bashrc中添加以下行

alias vim="/cygdrive/c/Program\ Files\ \(x86\)/vim/vim73/gvim.exe"

在调用vimdo时vim foo.txt &,&确保进程在后台运行,以便在进程结束之前shell仍然可用.

如果您不想&每次都输入,请执行以下别名

alias vim="cygstart /cygdrive/c/Program\ Files\ \(x86\)/vim/vim73/gvim.exe"

但最好的解决方案是安装cygwin vim而不是使用windows版本.有了一个窗口,你将一直与路径转换斗争.真的,你希望它适用于以下所有方面:

vim ~/foo
vim /bar
vim $home/abc
vim /cygpath/c/def
vim "c:\ghi"
Run Code Online (Sandbox Code Playgroud)

有一些复杂的shell脚本可以帮助缓解问题,但我没有遇到任何没有一定警告的问题.