как запустить программу 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 после вы модифицировали файл с псевдонимами