(Mac)Vim总是自动完成(甚至是白色)

时间:2013-07-11 18:28:42

标签: vim macvim

不知怎的,我的macvim / vim实例正在将每个标签扩展到自动完成菜单,这使我无法对我的代码进行选项卡。我真的不知道为什么。

我的vimrc在这里:https://github.com/jvanbaarsen/dotfiles/blob/master/vimrc

问题的截图:

http://f.cl.ly/items/1F0d2E3A14052H3P3M21/Schermafbeelding%202013-07-11%20om%2020.28.00.png

(“发生”文本,是自动填充列表中的第一个外观,我在新行上标记了)

我希望有人可以帮助我,这让我疯了!

3 个答案:

答案 0 :(得分:0)

我想我发现了问题,就是'ervandew / supertab'捆绑,删除后,我能够正常使用vim。

答案 1 :(得分:0)

我在网上发现了这个并在我的vimrc中使用它来“修复”问题。但它仍然有点痛苦,所以我只是重新训练自己使用ctrl-p。不是评论中的网址一次有效,但不再有效。

" Remap the tab key to do autocompletion or indentation depending on the
" context (from http://www.vim.org/tips/tip.php?tip_id=102)
function! InsertTabWrapper()
  let col = col('.') - 1
  if !col || getline('.')[col - 1] !~ '\k'
    return "\<tab>"
  else
    return "\<c-p>"
  endif
endfunction
inoremap <silent> <tab> <c-r>=InsertTabWrapper()<cr>
inoremap <s-tab> <c-n>

答案 2 :(得分:0)

supertab插件旨在保持<Tab>密钥的通常缩进功能并完成它。我个人不会使用自编函数来代替它,但是问题的可能原因在project homepage中提供的README文件中的常见问题解答中的第一个问题中进行了描述:

  
      
  • 为什么supertab不尊重我配置的设置(尝试在一行开头完成,始终执行关键字完成而不是我配置的默认设置等)?

         

    有可能你安装了一个非常旧版本的snipmate,或类似的东西,它会发出&lt; c-n&gt;什么时候找不到代码片段。 Supertab用于映射到&lt; c-n&gt;,因此这种行为将作为supertab的后备,但当前版本的supertab不再这样做,导致snipmate完全绕过supertab。

         

    您可以通过在vim中运行以下内容来检查是否是这种情况,以查看映射到&lt; tab&gt;的内容:

     :verbose imap <tab>
    
         

    要解决此问题,您可以:

         
        
    1. 安装我的fork
    2.   
    3. 升级到更新的snipmate前叉,例如garbase/vim-snipmate
    4.         

      有关其他详细信息,请参阅#74