我在用SuperTab。默认情况下,它允许我自动完成所有早期使用的文本部分。但是,我还需要自动完成一些语言或文件。
目前,我可以用can来做全身性手术,但这不方便。可以在选项卡上配置所有自动完成吗?
例如,我希望自动完成PHP函数名str_。如果函数不存在,那么脚本必须使用默认的vim自动完成。
任何帮助都将不胜感激!非常感谢!
更新
这是我的SuperTab配置
" Supertab
let g:SuperTabDefaultCompletionType = "context"
let g:SuperTabCompletionContexts = ['s:ContextText', 's:ContextDiscover']
let g:SuperTabContextTextOmniPrecedence = ['&omnifunc', '&completefunc']
let g:SuperTabContextDiscoverDiscovery =
\ ["&completefunc:<c-p>", "&omnifunc:<c-x><c-o>"]这种方法只对php使用omnicompletion,但在当前缓冲区中不使用自动完成另一个文本,这仅在我使用<c-p>时才能使用。
当我在.vimrc中添加下一行时:
autocmd FileType *
\if &omnifunc != '' |
\call SuperTabChain(&omnifunc, "<c-p>")
\endif<c-p>无效
发布于 2015-11-10 08:39:10
SuperTab提供了两种机制:上下文完成机制和完成链接机制,这两种机制都记录在其帮助页中。
简而言之,如果光标之前的文本匹配某个模式(比如变量或类名),前者可以切换到不同的(如omni)完成。后者首先尝试omnicompletion,如果没有匹配,则返回到正常的插入完成。
https://stackoverflow.com/questions/33624056
复制相似问题