不知怎的,我的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
(“发生”文本,是自动填充列表中的第一个外观,我在新行上标记了)
我希望有人可以帮助我,这让我疯了!
答案 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>
要解决此问题,您可以:
- 安装我的fork或
- 升级到更新的snipmate前叉,例如garbase/vim-snipmate
醇>有关其他详细信息,请参阅#74。