2013-02-19 11 views
6

Ich habe gVim in meinem Win7 installiert und ich benutze Cygwin sehr.Wie starte ich ein Windows-GUI-Programm in Cygwin?

Wenn ich in cygwin barthell bin, möchte ich "vim aaa.c" eingeben und dann lasse mein Windows-Programm gVim aaa.c für mich öffnen.

Würde jemand mir sagen, welche Konfiguration zu tun, dann könnte das funktionieren?

"Notepad" direkt in Cygwin-Shell eingeben und Enter drücken funktioniert. Ich weiß, dass "Notepad" in Windows-Systemvariable "Pfad" gefunden werden kann, so dass es funktioniert. Ich habe versucht, den Pfad meiner gVim.exe zur Systemvariablen "path" hinzuzufügen, aber es funktioniert nicht.

PS: wenn Sie "run notepad" in Cygwin-Shell eingeben, startet es auch Windows-Notizblock. Aber wie lässt sich mein gVim von Cygwin wie "Notizblock" erkennen? Ich möchte nicht immer den vollständigen Installationspfad zu meinem gVim in der Cygwin-Shell eingeben.

Danke!

+0

Haben Sie sicherstellen, Ihre Änderung an dem PATH, der auf Ihre Cygwin-Sitzung angewendet wurde? Die Änderung dauert nicht, bis du eine neue startest ... – einpoklum

+0

Startet der Textmodus 'vim'? Wenn dies der Fall ist, müssen Sie den Alias ​​'vim' verwenden. – nneonneo

Antwort

8

Die einfachste Lösung ist die folgende Zeile in Ihrem .bashrc

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

hinzuzufügen, wenn vimvim foo.txt & tut Aufruf sorgt die & den Prozess wird im Hintergrund ausgeführt, sodass Ihre Shell noch verwendbar ist, bevor der Prozess endet.

wenn Sie wollen die & nicht jedes Mal eingeben, gehen Sie wie folgt alias

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

Die beste Lösung ist, obwohl Cygwin zu installieren vim stattdessen die Windows-Version verwenden. Mit dem Windows 1 wirst du die ganze Zeit mit der Pfadkonvertierung kämpfen. Wirklich wollen Sie es für alle folgenden arbeiten:

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

Es gibt einige komplizierte Shell-Skripte sind, die helfen, das Problem zu lindern, aber ich bin nicht gekommen, über alle, die nicht bestimmte Einschränkung hat.

+0

Großartig ! Das ist was ich will! Ich habe den Alias ​​etwas modifiziert: 'alias vim =" cygstart/cygdrive/c/Programme \ Dateien \ \ (x86 \)/vim/vim73/gvim.exe -p --remote-tab-silent "' - zu machen Die neue Datei wurde in einem neuen Tab geöffnet. – actan

+0

Ja, ich habe versucht, cygwin vim zu installieren, weiß aber nicht, warum ein Schlüssel nicht gut funktioniert: Wie 'cw' löschte er nicht das ganze Wort, sondern fügte am Wortende ein' $ 'hinzu. Sieht der Cygwin Vim ist nicht gut. – actan

+0

Ture. Ich habe das gleiche Problem. Das Wort wird gelöscht, aber nicht vom Display gelöscht. Es ist wahrscheinlich ein vimrc Problem. Ich benutze 'Cw' selten, um ehrlich zu sein. Ich habe jedoch kein anderes Problem mit Cygwin Vim bemerkt. – Xuan

0

Als einen schnellen Hack, versuchen Sie, den vollständigen Pfadnamen, Cygwin-Stil, z. /cygdrive/c/Program\ Files/gVim/gVim.exe.

+0

das ist, was ich tippte: '/ cygdrive/c/Programme \ \ (x86 \)/Vim/vim73/gvim.exe hallo.c' - leider ist es nicht ** schnell ** überhaupt – actan

+0

Also, was Konsolenausgabe hast du dafür bekommen? Es funktioniert für mich mit anderen Editoren ... – einpoklum

+0

Danke, das funktioniert oben, aber ich erwarte weniger tippen, hoffentlich nicht den vollständigen Pfad des gVim. Ja, ich kann die Pfeiltaste benutzen, um historische Kommandos zu bekommen, aber ich suche nach einem idealen Weg, gVim von Cygwin Shell zu starten ... was einfach einen Wurf mehr als 'gvim aaa.c' oder' run gvim aaa.c' – actan

0

Für mich sind die folgenden Werke:

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

Sie können in Ihrem ~/.profile zur PATH hinzufügen, aber in die Windows-PATH-Variablen hinzugefügt (über das Control Panel) sollte auch funktionieren. (Nur sicher sein, die normale C:\... Notation dann zu verwenden.)

0

Hmmm, ich bin langsam. Auf Ihrer Windows-Maschine gibt es einen Cygwin Ordner mit einem home Ordner und Ihrem username Ordner. Öffnen Sie einfach den Datei-Explorer und bearbeiten Sie ihn mit Windows gvim, führen Sie dann das Speichern durch und führen Sie es in bash aus. Es besteht keine Notwendigkeit, dies zu einem schwierigen Problem zu machen.

0

Ich habe gerade Cygwin installiert und als ich meinen Pfad (echo $ PATH) untersuchte, erhalte ich im Grunde, was auch immer Windows in seinem Pfad hat ... vorausgesetzt, Sie haben gvim in Ihrem Windows-Pfad haben Sie es in Ihrem Cygwin-Pfad. .. was bedeutet cygstart gvim wird gvim starten ... nicht der hokey Pfad Probleme erforderlich ... Ich bin sicher, dass Sie Befehlszeilenargumente übergeben und es im Hintergrund auch ausführen können ...

0

Für mich funktioniert der Befehl 'run' in Cygwin. Es ist ähnlich dem Befehl 'Öffnen' in OSX CLI.

Dies ist, wie ich es in meinem .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' 

Vergessen Sie nicht, Ihre Datei .bashrc nutzen zu beziehen, nachdem Sie Ihre Datei mit den Aliasnamen geändert haben