Я пытаюсь получить автозаполнение vim-ruby
, работая с vim-rails
. До сих пор я мог выполнять локальное ключевое слово с существующими методами и переменными в текущем файле, используя <C-x><C-n>
(хотя префиксы для переменных и символов экземпляра не сохраняются). Я хотел бы иметь возможность автозаполнения методов Rails, таких как redirect_to
и has_many
. Однако, когда я пытаюсь использовать omni-completion для выполнения этой задачи, например, redir<C-x><C-o>
, Vim говорит мне:Vim ruby, rails omnicompletion: «Ошибка загрузки рельсов». Как настроить автозаполнение vim-ruby для работы с рельсами?
Error loading rails environment
Press ENTER or type command to continue
Когда я нажимаю ENTER
, Vim говорит мне:
-- Omni completion (^O^N^P) Pattern not found
vim-ruby
«s автодополнение работает для простых файлов Руби, так что Arr<C-x><C-o>
завершается к Array
, и в свою очередь Array.<C-x><C-o>
предлагает список методов на Array
на выбор. Когда я пытаюсь это сделать в Rails-файле, я получаю ту же ошибку, что и выше; однако, когда я нажимаю ENTER
, чтобы отклонить ошибку, автозаполнение Ruby работает, как и ожидалось.
Мой вопрос: как правильно настроить vim-ruby
, чтобы он мог загружать среду Rails? Я предполагаю, что это проблема vim-ruby
, а не vim-rails
, потому что команды вроде :Econtroller <controllername>
работают как ожидалось.
Мой .vimrc
содержит следующее:
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
Plugin 'flazz/vim-colorschemes'
Plugin 'slim-template/vim-slim'
Plugin 'vim-ruby/vim-ruby'
Plugin 'tpope/vim-rails'
Plugin 'tsaleh/vim-shoulda'
Plugin 'ervandew/supertab'
call vundle#end()
autocmd FileType ruby set omnifunc=rubycomplete#Complete
let g:rubycomplete_buffer_loading = 1
let g:rubycomplete_classes_in_global = 1
let g:rubycomplete_rails = 1
Не нужно устанавливать меркурий больше, так как vim находится на github. команда для запуска до './configure ...' является 'git clone https://github.com/vim/vim.git && cd vim' – PaddyDwyer