2013-02-19 20 views
6

Mam zainstalowanego gVima w moim Win7 i często używam cygwin.jak uruchomić program GUI dla systemu Windows w cygwin?

Kiedy jestem w cygwin bashell, chcę wprowadzić "vim aaa.c", a następnie pozwolić na mój program Windows gVim otworzyć aaa.c dla mnie.

Czy ktoś powie mi, aby wykonać jaką konfigurację, to może zadziałać?

Wpisywanie "notatnika" bezpośrednio w powłoce cygwin i wciskanie enter działa. Wiem, że "notatnik" można znaleźć w zmiennej systemowej "ścieżka" systemu Windows, więc to działa. Próbowałem dodać moją ścieżkę gVim.exe do zmiennej systemowej "path", ale nie działa.

PS: jeśli wpiszesz "uruchom notatnik" w powłoce cygwin, uruchomi się również notatnik Windows. Ale jak sprawić, by mój gVim był rozpoznawany przez cygwin, tak jak "notatnik"? Nie chcę za każdym razem wpisywać pełnej ścieżki instalacyjnej do mojego gVima w powłoce cygwin.

Dzięki!

+0

Czy upewnić Twoja zmiana w PATH zastosowana do sesji Cygwin? Zmiana nie potrwa, dopóki nie rozpoczniesz nowego ... – einpoklum

+0

Czy rozpoczyna się tryb zwykłego tekstu 'vim'? Jeśli tak, musisz podać alias "vim". – nneonneo

Odpowiedz

8

Najprostszym rozwiązaniem jest dodanie następującej linii w .bashrc

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

podczas wywoływania vim zrobić vim foo.txt & The & zapewnia proces jest uruchamiany w tle, więc twoja powłoka jest nadal użyteczna przed zakończeniem procesu.

jeśli nie chcesz za każdym razem wpisywać &, wykonaj następujące czynności alias

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

Najlepszym rozwiązaniem jest jednak, aby zainstalować cygwin vim zamiast korzystania z wersji systemu Windows. Przez jedno okno będziesz walczył z konwersją ścieżek przez cały czas. Naprawdę chcesz go do pracy dla wszystkich poniższych:

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

Istnieją pewne skomplikowane skrypty powłoki, które pomagają złagodzić ten problem, ale nie natknąć się każdy, że nie ma pewną zastrzeżenie.

+0

Świetnie ! To jest to czego chcę! Trochę zmodyfikowałem alias: 'alias vim =" cygstart/cygdrive/c/Program \ Files \ \ (x86 \)/vim/vim73/gvim.exe -p --remote-tab-silent "' - make nowy plik został otwarty w nowej karcie. – actan

+0

Tak, próbowałem zainstalować cygwin vim, ale nie wiem, dlaczego jakiś klucz nie działa dobrze: jak 'cw' nie wyczyściło całego słowa, ale dodało' $ 'na końcu słowa. Wygląda na to, że cygwin vim nie jest dobry. – actan

+0

Ture. Mam ten sam problem. Słowo zostanie usunięte, ale nie usunięte z ekranu. To prawdopodobnie problem vimrc. Rzadko używam 'cw', aby być szczerym. Nie zauważyłem jednak żadnego innego problemu z cygwin vim. – Xuan

0

Jako szybki hack spróbuj użyć pełnej nazwy ścieżki, stylu cygwin, np. /cygdrive/c/Program\ Files/gVim/gVim.exe.

+0

to jest to, co napisałem: '/ cygdrive/c/Program \ Files \ \ (x86 \)/Vim/vim73/gvim.exe hello.c' - niestety to nie jest ** szybkie ** w ogóle – actan

+0

Co więc wyjście konsoli otrzymałeś za to? To działa dla mnie z innymi redaktorami ... – einpoklum

+0

Dzięki, powyżej polecam działa, ale spodziewam się pisać mniej, mam nadzieję, że nie pełną ścieżkę gVim. Tak, mogę użyć klawisza strzałki w górę, aby uzyskać polecenia historii, ale szukam idealnego sposobu uruchamiania gVim z powłoki cygwin ... która po prostu wpisuje miot bardziej niż 'gvim aaa.c' lub' run gvim aaa.c' – actan

0

Dla mnie następujące prace:

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

można dodać do PATH w swojej ~/.profile, ale dodanie do zmiennej PATH Windows (za pomocą panelu sterowania) powinny działać, too. (Tylko pamiętaj, aby korzystać z normalnego C:\... notacji potem.)

0

Hmmm, jestem wolny. Na komputerze z systemem Windows znajduje się folder Cygwin z folderem home i folderem username. Po prostu otwórz eksplorator plików i zmodyfikuj go za pomocą windows gvim, a następnie zapisz i uruchom w bashu. Nie ma potrzeby, aby to był trudny problem.

0

Właśnie zainstalowałem Cygwin i kiedy zbadałem moją ścieżkę (echo $ PATH), widzę, że w zasadzie dziedziczy ona wszystko, co Windows ma na swojej ścieżce ... więc pod warunkiem, że masz gvima na swojej ścieżce okien, masz to na swojej ścieżce Cygwin. ... co oznacza, że ​​cygstart gvim uruchomi gvima ... inne niż wymagane ścieżki hokey'a ... Jestem pewien, że możesz przekazywać argumenty linii poleceń i uruchamiać je również w tle ...

0

Dla mnie polecenie "biegnij" w cygwin działa. Jest podobny do polecenia "otwórz" w Cli OSX.

To jak ja wykorzystać ją w moich .bash_aliases złożyć

# 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' 

Nie zapomnij źródło .bashrc po zmodyfikowaniu pliku z aliasami

Powiązane problemy