在omnicompletion失败后,Vim清除标签

时间:2012-04-05 12:04:24

标签: vim autocomplete ctags omnicomplete exuberant-ctags

我正在使用带有大量插件的Vim 7.3,主要用于PHP开发。除了我遇到的小故障之外,omnicompletion工作得很好。我正在尝试弄清楚这是否是Vim中的错误或我的设置有问题,所以情况如下:

我使用set tags=<files>指定我正在使用的ctags文件。

:set tags=/home/jon/.vimtags.php,/home/jon/project/.vimtags.php

如果我然后打印标签的内容,我会得到我期望的结果:

:set tags?
 tags=/home/jon/.vimtags.php,/home/jon/project/.vimtags.php 

我也可以照常使用omnicomplete,<C-x> <C-o>。这是,直到我尝试完成不存在的东西(即未返回结果的未知标签)。我收到“Pattern not found”错误消息然后,奇怪的是,我的标签文件列表被清除。如果我直接打印标签的内容,我得到:

:set tags?
 tags=

我已经对我正在使用的Vim插件进行了大量的讨论,但据我所知,他们都没有在任何地方设置标签文件。

有人能告诉我这是由于我的设置中的某些内容还是Vim本身的错误?或者甚至是否有其他人发现同样的问题?

1 个答案:

答案 0 :(得分:3)

我可以确认这不是默认的Vim行为 - 它是由索引器插件引起的。出于某种原因,有一个函数在omnicomplete失败时重置标签。我打算联系开发人员,看看他是否可以提出解决方案。