首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在vim中调试缓慢的php omnicomplete

在vim中调试缓慢的php omnicomplete
EN

Stack Overflow用户
提问于 2010-02-04 23:26:35
回答 1查看 1.6K关注 0票数 4

我在一个大型项目中使用vim和php omnicompletion。我有一个ctags文件,并使用:

代码语言:javascript
复制
au FileType python set omnifunc=pythoncomplete#Complete
au FileType php set omnifunc=phpcomplete#CompletePHP
au FileType javascript set omnifunc=javascriptcomplete#CompleteJS
au FileType html set omnifunc=htmlcomplete#CompleteTags
au FileType css set omnifunc=csscomplete#CompleteCSS
au FileType xml set omnifunc=xmlcomplete#CompleteTags

set complete=""
set complete+=.
set complete+=k
set complete+=b
set complete+=t

我的配置中

目前,omni complete将在5+秒后完成php内建。它不会完成我的标签列表中的任何内容,但是<C-p>将完成标签列表中的项目。我还以为complete=t会检查标记文件。

通过<C-p>完成标记非常快,所以不确定是什么拖累了我的omni完成速度如此之慢。

如果我在我的主目录和这个项目目录中编辑一个新的.php文件,那么内置在omni complete中的php会很快。

感谢您的任何提示/帮助正在调试此程序。理想情况下,我希望像complete=t文档中建议的那样,让omni同时做内置和ctag补全。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-05 00:38:14

Omnicompletion和<C-p>补全是完全独立的。complete选项仅影响通过<C-p>/<C-n><C-x><C-l>完成。如果您希望omnicompletion也尝试使用标记,那么您需要修改完成函数来执行此操作。

在PHP中,它确实考虑了标记,但这只是它所做的一部分。omnicompletion比tag的补全慢的原因是它更复杂。在标记文件中搜索与光标之前的内容相匹配的单词与解析当前缓冲区的上下文、查找可以在那里完成的所有有效类型的信息、将其限制为与光标之前的文本相匹配的内容并将其呈现出来是完全不同的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2200842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档