我正在编辑一个简单的PHP文件,其中有一个类有几个方法,如果$bar
是这个类的一个实例,我输入
$bar->
CTRL X CTRL 0
我得到一个弹出窗口,其中包含许多方法(内置的)以及我的类和ctags列表中的方法。如何避免显示所有这些外部方法,只保留我班级中定义的方法?
答案 0 :(得分:1)
我确定您已经看过VIM文档(:help ft-c-omni
):
在没有任何“。”的名称后使用CTRL-X CTRL-O时。或“ - >”它完成了 直接来自标签文件。这适用于任何标识符,也适用于功能 名。如果要完成本地变量名称,则不会显示该名称 在标签文件中,改为使用CTRL-P。
在具有“。”的内容之后使用CTRL-X CTRL-O时或“ - >” Vim会尝试 识别变量的类型并找出它拥有的成员。 这意味着只会列出对变量有效的成员。
当成员名称已经完成时,CTRL-X CTRL-O将添加“。”。要么 “ - >” 中对于复合类型。
如果我读得正确,内置功能最多只允许您使用CTRL-P并匹配本地变量名称,从而完全绕过TAGS文件。
您真正想要的是一个TAGS文件,该文件特定于您当前正在处理的翻译单元(header / cpp文件)。如果我试图解决这个问题,我将执行以下步骤:
CTRL-X CTRL-O
omni-completion。如有必要,请恢复原始标签。此外,在我看来,您希望能够直接从VIM调用#1的脚本,因为您在编码时经常更改当前的翻译单元。
我希望能让你开始朝着正确的方向前进,我很乐意看到/帮助你实施=)。