Самый прямой способ указать ruby — указать его полный путь в команде :! (вместо того, чтобы полагаться на то, какой ruby будет найден первым в каталогах PATH):
Чтобы использовать Рубин в /path/to/your/preferred/ruby:
:!/path/to/your/preferred/ruby %
Чтобы использовать установленный RVM ruby-1.9.2-head:
:!~/.rvm/bin/ruby-1.9.2-head %
Чтобы использовать установленный RVM ruby-1.9.2-head с набором драгоценных камней rails3-dev:
:!~/.rvm/bin/ruby-1.9.2-head@rails3-dev %
Таким образом, ваша команда карты может выглядеть так:
:map ,t :w\|:!~/.rvm/bin/ruby-1.9.2-head@rails3-dev %<cr>
Также обычно можно настроить действующее значение переменной среды PATH так, чтобы нужный ruby был найден первым, но это не всегда может быть так просто, как хотелось бы. В частности, команды :! обрабатываются оболочкой, настроенной с помощью параметра Vim shell (:set shell?, чтобы увидеть его значение). Файлы конфигурации для этой оболочки могут изменить значение PATH, которое Vim дает оболочке (сравните PATH Vim (:echo $PATH) с PATH, которую в конечном итоге используют :! команды (:!echo $PATH), чтобы увидеть, могут ли файлы конфигурации вашей оболочки корректировать PATH).
Вы можете попробовать изменить PATH, который Vim и его дочерние элементы используют следующим образом:
:let $PATH = $HOME . '/.rvm/wrappers/ruby-1.9.2-head@rails3-dev:' . $PATH
Вы должны проверить действующий PATH с помощью :!echo $PATH и :!which ruby, чтобы узнать, изменяет ли ваша оболочка PATH (возможно, :set shell=/bin/sh, если у вас есть эта проблема).
Примечание. Я никогда не видел такого конкретного использования каталогов-оболочек RVM, в будущих версиях RVM это может сломаться. Обычное использование заключается в создании оболочки и вызове ее непосредственно из ~/.rvm/bin (аналогично первой части этого поста) вместо помещения ~/.rvm/wrapper/whatever в PATH.
person
Chris Johnsen
schedule
04.08.2011
<cr>)? - person sidyll   schedule 04.08.2011