как запустить программу Windows GUI в cygwin?

у меня установлен gVim в моем Win7, и я использую cygwin много.

когда я нахожусь в cygwin bashell, я хочу войти в " vim aaa.c", а затем пусть моя программа Windows gVim откроет aaa.C для меня.

кто-нибудь скажет мне, какую конфигурацию тогда это может работать?

ввод "Блокнота" непосредственно в Cygwin shell и нажатие enter работает. Я знаю, что " блокнот "можно найти в системной переменной" path " Windows, поэтому он работает. Я попытался добавить свой gVim.путь exe к системная переменная "path", но она не работает.

PS: Если вы наберете "запустить блокнот" в Cygwin shell, он также запустит Блокнот Windows. Но как сделать мой gVim узнаваемым cygwin так же, как "блокнот"? Я не хочу вводить полный путь установки к моему gVim в Cygwin shell каждый раз.

спасибо!

6 ответов


самое простое решение-добавить следующую строку в ваш .bashrc и

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

при вызове vim do vim foo.txt & на & гарантирует, что процесс выполняется в фоновом режиме, поэтому ваша оболочка все еще может использоваться до завершения процесса.

если вы не хотите, чтобы ввести & каждый раз делайте следующий псевдоним

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

лучшим решением является установка cygwin vim вместо использования версии windows. С windows one, вы будете бороться с преобразованием пути все время. Действительно, Вы хотите, чтобы он работал для всех следующих:

vim ~/foo
vim /bar
vim $home/abc
vim /cygpath/c/def
vim "c:\ghi"

есть некоторые сложные скрипты оболочки, которые помогают облегчить проблему, но я не сталкивался с тем, что не имеет определенного предостережения.


в качестве быстрого взлома попробуйте использовать полный путь, cygwin-style, например /cygdrive/c/Program\ Files/gVim/gVim.exe.


для меня, следующие работы:

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

вы можете добавить к пути в свой ~/.profile, но добавление в переменную пути Windows (через Панель управления) также должно работать. (Просто не забудьте использовать normal C:\... нотации потом.)


Я только что установил Cygwin, и когда я изучил свой путь (echo $PATH), я вижу, что он в основном наследует все, что windows имеет в своем пути...поэтому, если у вас есть gvim в вашем пути windows, у вас есть это в вашем пути Cygwin...что означает cygstart GVim выступает начнут GVim выступает...не из проблем hokey path требуется...Я уверен, что вы можете передать args командной строки и запустить его в фоновом режиме...


хммм, я медленно. На вашем компьютере с windows есть с . Просто откройте Проводник и отредактируйте его с помощью Windows gvim, затем сохраните и запустите его в bash. Нет необходимости усложнять эту проблему.


для меня работает команда "run"в cygwin. Это похоже на команду "открыть" в OSX cli.

Это, как я использую его в моем .bash_aliases file

# 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 после вы модифицировали файл с псевдонимами