使用vim自动完成php

Jua*_*olo 6 php vim autocomplete

我正在为 vim 寻找一个 php 自动完成解决方案。我已经在这个线程: Vim PHP omni completion 但它对我不起作用。我用这个 bash 脚本生成标签文件:

#!/bin/bash
exec ctags -V -f tags \
-h \".php\" -R \
--exclude=\"\.git\" \
--totals=yes \
--language-force=PHP \
--tag-relative=yes \
--PHP-kinds=+cfiv \
--regex-PHP='/(abstract)?\s+class\s+([^ ]+)/\2/c/' \
--regex-PHP='/(static|abstract|public|protected|private)\s+(final\s+)?function\s+(\&\s+)?([^ (]+)/\4/f/' \
--regex-PHP='/interface\s+([^ ]+)/\1/i/' \
--regex-PHP='/\$([a-zA-Z_][a-zA-Z0-9_]*)/\1/v/' \
kernel/classes/
Run Code Online (Sandbox Code Playgroud)

但自动完成并不如所愿。我什至不知道插件是否正在加载。那么,如何查看插件是否正在加载?(插件位于 bundle 下,我使用病原体,其他插件也能工作..)是否需要激活其他东西?我有 VIM - Vi IMproved 7.3,Exuberant Ctags 5.8

谢谢

rom*_*inl 1

想要的效果是什么?你能指望什么?你得到了什么?Vim 没有“自动完成”功能:它自己的完成品牌称为“全能完成”,并且根本不是自动的。

\n\n

我已经使用链接在另一个问题的答案之一中的 phpComplete 脚本已经有ctags一段时间了,没有任何问题。事实上,我编写了以下示例,以为我正在使用它,但我忘记了几周前我已经删除了一堆脚本和插件,包括phpComplete.vim.

\n\n

因此,以下内容与现有的 Vim 7.3/Exuberant Ctags 5.8 配合得非常好。

\n\n

a.php

\n\n
<?php\n  class MyClass {\n    public function MyClass(argument) {\n      echo \'Hello.\';\n    }\n    private function secret() {\n      echo \'Shhhh\xe2\x80\xa6\';\n    }\n    public function say() {\n      echo \'what?\';\n    }\n  }\n?>\n
Run Code Online (Sandbox Code Playgroud)\n\n

和光标如所示b.php

\n\n
<?php\n  include \'a.php\';\n\n  $example = new MyClass();\n  $example->| //cursor here\n?>\n
Run Code Online (Sandbox Code Playgroud)\n\n

<C-x><C-o>给了我这些选择:

\n\n
say( f\nMyClass( f\n
Run Code Online (Sandbox Code Playgroud)\n\n

我没有得到一长串内置函数的列表,我什至没有得到私有方法。

\n