Проблема с плагином Vim's Ruby - PullRequest
12 голосов
/ 28 ноября 2010

Я только что установил Vim, и когда я открываю файл ruby, я получаю следующие ошибки:

Error detected while processing C:\Program files (x86)\Vim\vimfiles\ftplugin\ruby.vim
line: 76
Encoding::ConverterNotFoundError: code converter not found (UTF-16LE to ASCII-8bit)
line: 93

E121 :Undefined varaible: s:ruby_path
E15: Invalid expression: s:ruby_path
line: 76

NameError: uninitialized constant Gem::Quickloader
line: 93

У меня установлен Ruby 192, и я получаю эту ошибку, даже если я обновляю файлы ruby ​​vim.

Это две строки, на которые ссылаются ошибки, если это помогает:

line 76:  ruby VIM::command( 'let s:ruby_path = "%s"' % ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,}) )

line 93: let &l:path = s:ruby_path

Ответы [ 6 ]

15 голосов
/ 03 января 2011

Обратите внимание, что вместо редактирования файла ruby.vim вы можете просто добавить

let g:ruby_path = ':C:\ruby192\bin'

в вашем файле _vimrc (или эквивалент для вашей платформы). Таким образом, вам не нужно будет повторно редактировать ruby.vim при его обновлении.

5 голосов
/ 09 июля 2011

Если вы запускаете RVM и хотите использовать его по умолчанию ruby, используйте:

let g:ruby_path = "/Users/allen/.rvm/rubies/default/bin"

Если вы установите свой интерпретатор ruby ​​в файле проекта .rvmrc, вы можете создать переменную окружения в вашем .rvmrc:

rvm 1.9.2@projectname --create
export RUBY_BIN=`which ruby | sed 's/ruby$//'`

Вы можете использовать переменные окружения в вашем .vimrc:

let g:ruby_path=$RUBY_BIN

(Обратите внимание, что вы также должны установить $ RUBY_BIN по умолчанию в вашем .bashrc или .zshrc, чтобы это работало вне .rvmrcпроекты.)

Если ваш путь ~ / .rvm / rubies / default / bin еще не существует, вам необходимо установить в системе rvm значение по умолчанию ruby.В командной строке или в приложении терминала введите:

rvm use 1.9.2 --default

, используя любую нужную версию ruby.

0 голосов
/ 31 марта 2011

Обновление до последней версии Ruby 1.9.2 (1.9.2p180 (2011-02-18) на момент публикации) исправило это для меня.

Я работал 1.9.2p132 или около того, когда у меня возникла проблема, которая, кажется, была исправлена ​​примерно в декабре 2010 года .Вы можете проверить текущую версию, запустив ruby -v.

0 голосов
/ 24 декабря 2010

Я открыл файл "C: ... \ vim73 \ ftplugin \ ruby.vim" и прямо перед строкой 73 или около того, где код читает:

if !exists("s:ruby_path")

Я добавил:

let s:ruby_path = 'C:\ruby192\bin'

Пока что vim кажется более счастливым в редактировании файлов ruby.Примечание. Я установил свой ruby ​​в каталог «C:» вместо «Program Files», чтобы получить лучший путь к файлу ruby.exe.

Моя версия ruby.vim датирована 2010 годом 15 марта.

0 голосов
/ 28 ноября 2010

Ваша проблема, вероятно, в Ruby 1.9 - AFAIK Vim работает только с Ruby 1.8, поэтому вам, возможно, придется понизить версию Ruby, чтобы Vim работал.

0 голосов
/ 28 ноября 2010

Как вы установили Ruby?

Перейдите в irb и введите:

Gem.all_load_paths.uniq

, который должен вернуть список путей к вашим установочным гемам, о которых также знает Gem.

Это то, что не так в вашем сообщении об ошибке и заставляет меня подозревать, что вы упускаете какую-то информацию о пути или среде, потому что похоже, что vim не может правильно найти ваши камни Ruby.

Encoding::ConverterNotFoundError является исключением из базовой библиотеки, поэтому эта часть работает, но похоже, что команда Gem не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...