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

时间:2013-02-19 07:52:40

标签: windows vim cygwin

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

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

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

打字"记事本"直接在cygwin shell中按下输入作品。我知道"记事本"可以在Windows中找到'系统变量"路径"所以它有效。我尝试将gVim.exe的路径添加到系统变量" path"但它没有用。

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

谢谢!

6 个答案:

答案 0 :(得分:8)

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

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

在调用vim执行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"

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

答案 1 :(得分:0)

快速破解,请尝试使用完整路径名,cygwin样式,例如: /cygdrive/c/Program\ Files/gVim/gVim.exe

答案 2 :(得分:0)

对我而言,以下作品:

$ PATH=/cygdrive/c/Program\ Files\ \(x86\)/vim/vim73:$PATH
$ gvim

您可以添加到~/.profile中的PATH,但添加到Windows PATH变量(通过“控制面板”)也应该有效。 (请务必使用正常的C:\...表示法。)

答案 3 :(得分:0)

嗯,我慢了。在您的Windows机器上,有一个Cygwin文件夹,其中包含home文件夹和您的username文件夹。只需打开文件资源管理器并使用windows gvim进行编辑,然后执行保存并在bash中运行它。没有必要把这个问题变成一个难题。

答案 4 :(得分:0)

我刚刚安装了Cygwin,当我检查我的路径(echo $ PATH)时,我发现它基本上继承了路径中的任何窗口......所以如果你在你的Windows路径中有gvim,你就可以在Cygwin路径中使用它了。 .which意味着cygstart gvim将启动gvim ...非所需的hokey路径问题...我确信你可以通过命令行args并在后台运行它...

答案 5 :(得分:0)

对我来说,cygwin中的命令'run'有效。它类似于OSX cli中的'open'命令。

这就是我在.bash_aliases文件中使用它的方法

# Location of Programs in Win10 that are stored under
# Program Files (x86)
alias x86PF='cd "/cygdrive/c/Program Files (x86)"'

# Navigating to the location of Program Files (x86)
# then switching to the Notepad++ dir
# then calling 'notepad++.exe' with the run command.
# Note the use of the && to run multiple commands in one alias assignement


alias notepad++='x86PF && cd Notepad++ && run notepad++.exe'

在使用别名修改文件后,不要忘记使用.bashrc