微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在vim中调试慢速php omnicomplete

我在一个大项目中使用vimPHP omnicompletion.我有一个ctags文件并使用:

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内置的ins.它不能完成我的标签列表中的任何内容,但是< C-p>将完成标签列表中的项目.我以为complete = t会检查标签文件.

标签通过< C-p>完成.是非常快,所以不知道什么是压低我的全方位完成是如此惊人的慢.

如果我在我的家庭目录编辑一个新的.PHP文件vs这个项目dir,内置omni完成的PHP很快.

感谢您提供的任何提示/帮助.理想情况下,我想让omni同时完成内置和ctags完成,这似乎是由complete = t docs建议的.

解决方法:

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

PHP的情况下,它确实考虑了标签,但这只是它的一部分. omn​​icompletion比标签完成慢的原因是它更复杂.在标记文件搜索与光标之前匹配的单词与解析当前缓冲区的上下文完全不同,查找可在此处完成的所有有效信息类型,将其限制为与光标前的文本匹配的单词,并呈现那.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐