我通过病原体安装了维姆红宝石。我想我应该能够在安装rubycomplete之后使用vim-ruby中包含的vim-ruby,但我不是。
没有任何错误,我只是不能用它。
当我使用:scriptnames检查加载的脚本时,我可以从vim-ruby中看到一些脚本,例如:
~/.vim/bundle/vim-ruby/ftdetect/ruby.vim但我找不到rubycomplete。我想它没上膛,但我不知道为什么。
我在MacOSX10.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?我真的需要这个很棒的功能!
--更新--
1)当我想使用rubycomplete时
[].当我按下选项卡(我使用的是each )时,我假设它应该显示类似于each和each_index的东西,这是数组的默认方法。然而,vim显示:
-- Keyword completion (^N^P) Pattern not found2)我的vim是mac的默认版本,但是vim --version | grep ruby的输出中有vim --version | grep ruby。因此,我认为我的vim支持ruby,这意味着我不需要重新编译我的vim。我说的对吗?
3) :verbose set omnifunc的输出为
omnifunc=rubycomplete#Complete
Last set from ~/.vim/bundle/vim-ruby/ftplugin/ruby.vim发布于 2013-05-11 04:43:01
Supertab默认为关键字完成。这不是全神贯注。要让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设置为上下文模式,可以将supertab设置为在全功能完成模式和另一个完成模式之间切换。要设置这个,只需将上面的行更改为
autocmd FileType ruby let g:SuperTabDefaultCompletionType = "context"如果您打算这样做,我建议您在完全设置:h supertab时查看它。
https://stackoverflow.com/questions/16486471
复制相似问题