2010-06-17 6 views
6

Próbuję przenieść się do GVim (krem) jako mój podstawowy edytor na Ubuntu. Używam wspaniałego rails.vim, jednak używam również RVM.Używanie RVM z GVim (Cream): nie znaleziono polecenia rvm

Rvm działa poprawnie podczas robienia rzeczy w powłoce, a wersja ruby, której chciałbym użyć w rails.vim, jest wersją ustawioną domyślnie (ale nie wersją systemu).

Kiedy próbuję uruchomić rzeczy jak

:Rgenerate migration migration_name 

uzyskać:

... 
Missing Rails 2.3.8 gem. 
... 

Gdy próbuję:

:!rvm use default 

uzyskać:

/bin/bash: rvm: command not found 

Oczywiście krem ​​/ gvim nie używa mojego .bashrc. Co mogę zrobić, żeby temu zaradzić i sprawić, żeby działało? Dzięki.

+1

Ten sam problem występuje również w gvim i występuje tylko wtedy, gdy korzystam z menu aplikacji/Gnome Do, aby uruchomić aplikację. Jeśli uruchomisz gvima z powłoki, to rvm działa poprawnie. –

Odpowiedz

4

Spróbuj uruchomić krem ​​z wiersza poleceń, jeśli rozwiąże to problem, możesz wskazać element menu na skrypt otwierający krem ​​w kontekście zachęty bash.

+0

To brzmi najbardziej obiecująco. Wszelkie sugestie, jak to zrobić? Wskazywanie mnie w kierunku odpowiednich terminów wyszukiwania, aby się nauczyć, zostałoby docenione. –

+0

Spróbuj napisać plik zawierający 'cream &' i zapisz jako 'whatever.sh', a następnie spróbuj uruchomić ten skrypt. – thomasfedb

1

Prawdopodobnie użyłeś .bash_profile do dodania rzeczy RVM do twojego środowiska bash. Niestety, ~/.bash_profile zwykle nie jest odczytywany przez skrypty startowe X, jak podano w Ubuntu Help

Użyj .profile lub .bashrc. .profile jest pobierany tylko przez bash, jeśli nie ma tam .bash_profile. Chciałbym użyć .bashrc.

+0

Aha, i nie zapomnij ponownie uruchomić sesji X po wprowadzeniu zmian. – fungusakafungus

+0

Dzięki. Jednak faktycznie użyłem już .bashrc do dodania rvm. Myliłem się, kiedy powiedziałem powyżej powyższy profil. –

+0

Dzięki, działało świetnie. Jestem na czystej instalacji i jeszcze nie dotknąłem tych plików, więc zakładam, że RVM domyślnie zainstalował linię skryptów RVM do mojego .bash_profile. Skopiowanie tej linii do .bashrc naprawiło ją następnym razem, gdy uruchomiłem nową powłokę bash. –

0

rvm to funkcja bash, która zmienia środowisko bash. Wygląda na to, że nie powinno się go uruchamiać z wnętrza vima. Nie można zmienić środowiska już uruchomionego programu.

+0

OK, więc powinno być Co muszę zrobić, to uruchomić go z właściwego profilu bash, być może jak sugeruje thomasfedb. –

0

Wypróbuj rvm gem list, aby upewnić się, że klejnot szyn jest rzeczywiście zainstalowany. rails (2.3.8) powinny być wymienione. Jeśli nie działa to rvm gem install rails.

Jestem użytkownikiem vim, a rvm + rails.vim działa dobrze dla mnie. W tym twój przykład :Rgenerate.

+0

RVM jest zainstalowany, gvim właśnie się nie ładuje, jest zasięgiem profilu bash. –

0

RVM jest ustawiona na jednej powłoce zasadach, więc jeśli uruchomić nowe okno lub nową kartę i używasz czegoś innego niż domyślny interpreter i gemset trzeba pierwszym

rvm gemset use my_rails238_gemset

i następnie

vim myshiz

+0

To jest prawie to, co robiłem.Uruchomienie gvim z terminala powoduje pożądane zachowanie. –

3

to dlatego, że jesteś pozyskiwania skrypty RVM w pliku .zshrc. MacVim nie pobiera pliku .zshrc, ale pobierze plik .zshenv.

Dodaj następującą linię do pliku .vimrc.

set shell=/bin/sh 
+0

Zrobiłem to i zadziałało dla mnie. Dziękuję Ci! – Alban

+0

NB to jest odpowiedź na problem specyficzny dla Maców, a anonimowy używa Ubuntu – Lambart

0

Dodaj tę linię do swojego ~ /.bashrc:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

I upewnij się, że jest przed [ -z "$PS1" ] && return który przestaje sourcing resztę pliku, jeśli nie bash jest interaktywny.

A potem dodać go do ~/.profile:

export BASH_ENV=$HOME/.bashrc 

Dzięki tej linii bash będzie teraz źródło $ HOME/.bashrc, gdy jest on uruchomiony nieinteraktywnie też. Zarówno skrypty GVim, jak i powłoki uruchamiane przez podwójne kliknięcie, powinny teraz używać RVM.

Uwaga: Tylko :! (ex: :!ruby, :!echo) polecenia użyje RVM jako komendy jak :ruby i :echo nie działają bash i dlatego nie source ~/.bashrc.

0

Uruchomienie gvim z wiersza poleceń nie działa dla mnie (w tym sensie, że jest niedopuszczalne). Kiedy używam aplikacji GUI, chcę używać jej jak GUI, bez zbędnej powłoki w tle.

Sztuczka "set shell=" przeznaczona dla użytkowników komputerów Mac nie działa dla mnie. Tak jak ty, używam Ubuntu. Nawet ustawienie powłoki na /bin/bash nie powoduje tego.

Jedyne, co udało mi się wykonać, to jest to. Przede wszystkim zainstaluj rvm.vim oprócz rails.vim.

Następnie, po otwarciu gvima/mleczka, przejdź do katalogu głównego Twojego projektu wpisz

:Rvm 

Spowoduje rvm.vim można odczytać pliku swoją .ruby-version (lub .rvmrc) i inicjować się prawidłowo.

W tym momencie

:Rake 
:Rgenerate 

... i inne polecenia rails.vim powinno działać dobrze.

Należy zauważyć, że można również przekazywać argumenty do :Rvm tak samo, jak przy uruchamianiu rvm z powłoki.

+0

Używam także GVim na Ubuntu, a wtyczka _rvm.vim_ była jedynym sposobem na uzyskanie _rails.vim_ working. Wskazówka: wstaw ': autocmd VimEnter * Rvm' do swojego .vimrc, więc nie musisz dzwonić: Rvm cały czas ręcznie – remo