【问题标题】:How do you use a custom complete key sequence (C-space instead of Tab) in SuperTab for Vim?你如何在 SuperTab for Vim 中使用自定义的完整键序列(C 空格而不是 Tab)?
【发布时间】:2026-01-09 07:40:01
【问题描述】:

我最近开始使用 SuperTab,但我想使用 Ctrl-space 而不是 Tab。

我的问题是经常用Tab在cmets里面加缩进,但是SuperTab开始补全。我知道我可以使用Ctrl-V Tab,但这很笨拙(特别是因为我不使用 Tab 来完成)。

我尝试在我的 vimrc 中添加这个...

let g:SuperTabMappingForward = '<c-space>'
let g:SuperTabMappingBackward = '<s-c-space>'

...这让我可以使用 C 空间,但 Tab 仍然会自动完成。我想使用 Tab 插入缩进并且永远不会完成。

我正在使用SuperTab continued


我开始使用 SuperTab 是因为我想要使用 Eclim (Eclipse + Vim) 进行上下文相关的补全。我设置了这个:

let g:SuperTabDefaultCompletionType = 'context'

SuperTab 会根据需要在文本补全和用户定义的 (eclim) 补全(针对成员函数和变量)之间切换。如果有更简单的方法可以做到这一点,那将是一个可以接受的解决方案。

【问题讨论】:

    标签: plugins autocomplete vim


    【解决方案1】:

    严格从文档来看,您也可以通过将g:SuperTabMappingTabLiteral 设置为&lt;Tab&gt; 来获得此效果。

    编辑:我今天早上在 gvim 中测试了这个,结果是肯定的。将此设置与您帖子中提到的两个设置一起设置允许我使用&lt;Tab&gt; 插入文字制表符并使用&lt;C-space&gt; 完成。

    【讨论】:

    • 阅读 g:SuperTabMappingTabLiteral 的文档,应该可以解决我的问题,但事实并非如此。当我在分号后点击标签时,它又开始完成。
    • @pydave 不幸的是我无法重现这个。我不明白为什么它不应该工作。也许是 supertab 中的错误?
    【解决方案2】:

    遇到同样的问题...

    查看文档后,&lt;C-Tab&gt; 似乎就是您要查找的内容。

    【讨论】:

    • 做什么?你是说我应该使用 Ctrl-Tab 而不是 Tab 进行缩进?
    最近更新 更多