我通过病原体安装了
vim-ruby.我想我应该能够在安装后使用rubycomplete,它包含在vim-ruby中,但我不是.
没有任何错误,我只是无法使用它.
当我使用:scriptnames来检查加载的脚本时,我可以看到一些来自vim-ruby的脚本,例如:
~/.vim/bundle/vim-ruby/ftdetect/ruby.vim
但我找不到rubycomplete.我认为它没有加载,但我不知道为什么.
我在Mac OS X 10.8.3上使用默认的vim7.3,这是我的.vimrc:
call pathogen#infect() Syntax on set nocompatible filetype plugin indent on set number set autoindent set smartindent set shiftwidth=4 set tabstop=4 set backspace=2 set title set autoread set ignorecase set incsearch set hlsearch set smartcase set smarttab autocmd FileType python set tabstop=4|set shiftwidth=4|set expandtab autocmd FileType ruby set tabstop=2|set sw=2 autocmd FileType html set tabstop=2|set sw=2 autocmd BufNewFile,BufRead *.html.erb set filetype=html autocmd BufNewFile,BufRead *.css.scss set filetype=css autocmd FileType haml set tabstop=4|set shiftwidth=4|set expandtab autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1 autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1 autocmd FileType ruby,eruby let g:rubycomplete_rails = 1
如何才能使我的vim加载rubycomplete正确?我真的需要这个很棒的功能!
–update–
1)当我想使用rubycomplete时:
[].
我想它应该显示类似each和each_index的东西,这是Array的默认方法,当我按Tab键时(我正在使用supertab).
然而,vim表明:
-- Keyword completion (^N^P) Pattern not found
2)我的vim是mac OSX的默认值,但是vim –version |的输出中有ruby grep ruby.因此,我认为我的vim支持ruby,这意味着我不需要重新编译我的vim.我对吗?
3)输出:verbose set omnifunc是
omnifunc=rubycomplete#Complete Last set from ~/.vim/bundle/vim-ruby/ftplugin/ruby.vim
解决方法
Supertab违约关键字完成.这不是omnicompeltion.要使supertab使用omnicompletion,您需要使用< C-x>< C-o>首先或将supertab设置为默认使用omnicompletion.
要使supertab默认使用omnicompletion,您可以将以下行添加到vimrc.
let g:SuperTabDefaultCompletionType = "<c-x><c-o>"
如果你只想要ruby,你可以使用下面的autocmd.
autocmd FileType ruby let g:SuperTabDefaultCompletionType = "<c-x><c-o>"
您还可以通过将其设置为上下文模式,将supertab设置为在omni完成和另一个完成模式之间自动切换.要设置此项,您只需将上面的行更改为
autocmd FileType ruby let g:SuperTabDefaultCompletionType = "context"
如果您打算这样做,我建议您在完全设置时查看:h supertab.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。