Vim 在 omnicompletion 失败后清除标签

标签 vim autocomplete ctags omnicomplete exuberant-ctags

我正在使用带有大量插件的 Vim 7.3,主要用于 PHP 开发。 omn​​icompletion 效果很好,除了我遇到的一个小故障。我正在尝试弄清楚这是 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> .这是,直到我尝试完成一些不存在的东西(即不返回任何结果的未知标签)。我收到“未找到模式”错误消息,然后奇怪的是,我的标签文件列表被清除了。如果我之后直接打印标签的内容,我会得到:

:set tags?
 tags=

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

谁能告诉我这是我的设置问题还是 Vim 本身的错误?甚至其他人是否发现了同样的问题?

最佳答案

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

关于Vim 在 omnicompletion 失败后清除标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10028238/

相关文章:

javascript - 可以自动完成 JQuery 搜索以键入的字母开头的单词吗?

ruby-on-rails - 为 Ruby on Rails 项目生成 emacs 标签文件

javascript - jQuery AutoComplete 字段不起作用,我该如何修复它?

java - 为动态调用方法生成调用层次结构

vim - 从工作目录启动 gvim

python - Vim Python 缩进不起作用?

linux - Vim 如何在按下 CTRL + C 时输出文本,而其他内容绑定(bind)到 CTRL + C (Linux)

vim - gvim 打开对话框文件类型过滤器

regex - 替换vim中除括号部分之外的所有字符串

c# - C# 中的组合框和自动完成