gpt4 book ai didi

vim 如何使用 ruby​​complete 和 supertab

转载 作者:行者123 更新时间:2023-12-04 22:27:31 25 4
gpt4 key购买 nike

我安装了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?我真的需要这个很棒的功能!

--更新--

1) 当我想使用 rubycomplete 时:

[].

我想它应该显示像 eacheach_index 之类的东西,这是 Array 的默认方法,当我按下 tab 时(我正在使用 supertab)。但是,vim 显示:

-- Keyword completion (^N^P) Pattern not found

2) 我的vim是mac OSX的默认vim,但是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 已默认为关键字完成。这不是万能的。要让 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 设置为上下文模式,将其设置为自动在全能补全和另一种补全模式之间切换。要设置它,您只需将上面的行更改为

autocmd FileType ruby let g:SuperTabDefaultCompletionType = "context"

如果您打算这样做,我建议您查看 :h supertab完全设置时。

关于vim 如何使用 ruby​​complete 和 supertab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com