【发布时间】:2015-06-15 01:25:35
【问题描述】:
我正在尝试让vim-ruby 的自动完成功能与vim-rails 一起使用。到目前为止,我可以使用<C-x><C-n> 对当前文件中的现有方法和变量进行本地关键字补全(尽管不保留实例变量和符号的前缀)。我希望能够自动完成 Rails 方法,例如 redirect_to 和 has_many。但是,当我尝试使用全能完成来完成此任务时,例如redir<C-x><C-o>,Vim 告诉我:
Error loading rails environment
Press ENTER or type command to continue
当我按下ENTER 时,Vim 告诉我:
-- Omni completion (^O^N^P) Pattern not found
vim-ruby 的自动补全功能适用于纯 Ruby 文件,因此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
【问题讨论】:
标签: ruby-on-rails ruby vim autocomplete omnicomplete