2010-06-17 46 views
6

我試圖移動到GVim(奶油)作爲我的主要編輯器在Ubuntu上。我正在使用精彩的rails.vim,但是我也在使用RVM。使用RVM和GVim(奶油):找不到rvm命令

Rvm在shell中工作的很好,我想在rails.vim中使用的ruby版本是設置爲默認版本(但不是系統版本)的版本。

當我嘗試運行之類的東西

:Rgenerate migration migration_name 

我得到:

... 
Missing Rails 2.3.8 gem. 
... 

如果我嘗試:

:!rvm use default 

我得到:

/bin/bash: rvm: command not found 

顯然cream/gvim沒有使用我的.bashrc。我能做些什麼來彌補這一點並使其工作?謝謝。

+1

同樣的問題也出現在gvim中,只有當我使用應用程序菜單/ Gnome Do來啓動應用程序時纔會發生。 如果從shell啓動gvim,則rvm可以正常工作。 – 2010-06-18 04:35:54

回答

4

嘗試從命令行運行cream,如果這解決了問題,您可以將菜單項指向在bash提示符的上下文中打開cream的腳本。

+0

這聽起來最有前途。有關如何去做這件事的任何建議?指點我正確的搜索條件,所以我可以學習自己,將不勝感激。 – 2010-07-06 19:02:16

+0

嘗試編寫一個包含'cream&'並保存爲'whatever.sh'的文件,然後嘗試運行該腳本。 – thomasfedb 2010-07-12 10:32:37

1

您可能已經使用.bash_profile將RVM的東西添加到您的bash環境中。唉,〜/ .bash_profile通常不會被X啓動腳本讀取,如Ubuntu Help

中所述使用.profile或.bashrc。如果.bash_profile不存在,則.profile僅由bash提供。我會使用.bashrc。

+0

哦,不要忘記在進行更改後重新啓動X會話。 – fungusakafungus 2010-06-18 21:37:37

+0

謝謝。但是,我實際上已經使用.bashrc來添加rvm。當我說上面的bash配置文件時,我錯了。 – 2010-06-19 13:59:35

+0

謝謝,這很好。我在乾淨的安裝上還沒有觸及這些文件,所以我假設RVM在默認情況下將RVM腳本行安裝到我的.bash_profile。將該行復制到.bashrc中,以便下一次啓動新的bash shell時進行修復。 – 2012-11-21 18:37:49

0

rvm是一個bash函數,它改變了bash環境。似乎它不應該從vim內部運行。您不能更改已經運行的程序的環境。

+0

好吧,所以它應該像我需要做的是從正確的bash配置文件啓動它,也許就像thomasfedb所示。 – 2010-07-06 19:01:18

0

嘗試rvm gem list以確保實際安裝軌道寶石。應列出rails (2.3.8)。如果它沒有運行rvm gem install rails

我是vim用戶,rvm + rails.vim適合我。包括您的:Rgenerate示例。

+0

安裝了RVM,gvim只是不加載是bash配置文件的範圍。 – 2010-07-06 18:58:29

0

RVM被設置在每個外殼的基礎上,因此,如果你打開一個新窗口或新選項卡,你使用的是其他東西比你的默認解釋器和寶石,你需要先

rvm gemset use my_rails238_gemset

和然後

vim myshiz

+0

這幾乎是我一直在做的。從終端啓動gvim會導致所需的行爲。 – 2010-07-06 18:59:42

3

這是因爲你在採購你的.zshrc文件的RVM腳本。 MacVim不會獲取.zshrc文件,但會獲取.zshenv文件。

將以下行添加到.vimrc文件中。

set shell=/bin/sh 
+0

我做到了這一點,它爲我工作。謝謝! – Alban 2012-07-27 20:58:59

+0

注意這是Mac特定問題的答案,提問者使用的是Ubuntu – Lambart 2013-10-29 23:16:44

0

將此行添加到您的〜/。bashrc中:

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

,並確保它自帶[ -z "$PS1" ] && return其停止採購該文件的其餘部分如果bash不是交互式之前。

然後添加到您的〜/ .profile文件:

export BASH_ENV=$HOME/.bashrc 

這一行bash將現在源$ HOME當它運行非交互式太/ .bashrc中。 您通過雙擊執行的GVim和shell腳本現在應該使用RVM。

注:只有:!(例如::!ruby:!echo)命令將使用RVM的命令,如:ruby:echo不運行bash的,因此不源的〜/ .bashrc。

0

從命令行運行gvim對我來說不起作用(因爲它不可接受)。 當我使用GUI應用程序時,我想像GUI一樣使用它,而沒有無用的外殼在後臺徘徊。

適用於Mac用戶的'set shell='技巧不適用於我。像你一樣,我正在使用Ubuntu。即使將外殼設置爲/bin/bash也不會。

我得到的唯一工作就是這樣。首先,除了rails.vim之外,還安裝rvm.vim

然後,當你打開GVIM /霜,導航到你的項目的根文件夾,然後鍵入

:Rvm 

這將導致rvm.vim讀你.ruby-version(或.rvmrc)文件並正確初始化。

在這一點上,

:Rake 
:Rgenerate 

...等rails.vim命令應該只是罰款。

請注意,您也可以將參數傳遞給:Rvm,就像從shell中運行rvm一樣。

+0

我也在Ubuntu上使用GVim,_rvm.vim_插件只是讓_rails.vim_工作的方法。提示:將':autocmd VimEnter * Rvm'放入你的.vimrc中,這樣你就不必一直手動運行Rvm – remo 2014-11-26 15:35:10