Самый прямой способ указать ruby
- указать его полный путь в команде :!
(вместо того, чтобы полагаться на то, что ruby
находится первым в каталогах PATH):
Для использования Ruby в /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 может выглядеть так:
:map ,t :w\|:!~/.rvm/bin/ruby-1.9.2-head@rails3-dev %<cr>
Также обычно можно отрегулировать эффективное значение переменной среды PATH так, чтобы желаемое ruby
было первым найденным, но оно не всегда может быть таким простым, как вам хотелось бы. В частности, команды :!
обрабатываются оболочкой, настроенной с помощью опции shell Vim (:set shell?
, чтобы увидеть ее значение). Файлы конфигурации для этой оболочки могут изменять значение PATH, которое Vim дает оболочке (сравните PATH Vim (:echo $PATH
) с PATH, в котором команды :!
в конечном итоге используют (:!echo $PATH
), чтобы увидеть, могут ли файлы конфигурации вашей оболочки быть корректировка ПУТИ).
Вы можете попробовать изменить PATH, который использует Vim и его дочерние элементы, следующим образом:
:let $PATH = $HOME . '/.rvm/wrappers/ruby-1.9.2-head@rails3-dev:' . $PATH
Вы должны проверить действующий PATH с помощью :!echo $PATH
и :!which ruby
, чтобы выяснить, изменяет ли ваша shell дальнейшую PATH (возможно, :set shell=/bin/sh
, если у вас есть эта проблема).
Примечание: я никогда не видел такого конкретного использования каталогов оболочки RVM, будущие версии RVM могут сломать его. Обычно используется для создания оболочки и вызова ее непосредственно из ~/.rvm/bin
(аналогично первой части этого поста) вместо помещения ~/.rvm/wrapper/whatever
в PATH.