我一直在尝试让VIM自动完成功能正常工作,但遗憾的是遇到了问题。
目前我只是试图从基础开始,先在HTML文档上让自动完成功能正常工作。但即使这个也成为了问题。
我设置了正确的DOCTYPE,并甚至指定了不同的DOCTYPE以查看它是否适用于过渡(Transitional)、严格(Strict)或XHTML或HTML5,但似乎没有一个有效。
htmlcomplete.vim文件确实位于“autoload”目录中。
在我的vimrc文件中应用了正确的设置:
filetype plugin indent on
但是这仍然没有起作用,无论我做了多少研究,因为唯一相关的结果是关于VIM中C++自动完成的问题。(目前vim并不完全支持它,但是它确实支持HTML自动完成,因为我以前在多个不同的系统实例上使用过。)
你们觉得我接下来该怎么办?我不确定我该从哪里开始...
无论如何,当我使用“omni completion”选项时,即(Ctrl + X,Ctrl + O),它总是会显示:
Omni Completion (^O^N^P) Pattern not found
默认情况下,语法高亮功能即可正常工作,无需使用任何其他设置:
:syntax on/:syntax enable
它只是按照文件类型进行识别,所以可以正常工作。自从我取消注释“filetype plugin indent on”后,缩进开始工作了。但是我就是无法使其正常工作。
但也许,我错过了重点,想错了。如果我错了,请纠正我。我正在寻找的功能是,当我键入“<”时,它会自动弹出一个下拉列表,显示所有可能的标签,并且当我键入“<”时,它会进一步细化为“div”等。这是我在Vim中习惯的功能,无需任何配置,只需默认设置即可。
当我使用“Ctrl + N”或“Ctrl + P”命令时,我会得到一个非常小的(12个标签)可能标签列表,但这是手动的,不能自动检测输入的“<”。
我看错了吗?Omni Completion不是我应该配置的正确选项吗?还是需要另一个插件来提供此功能?
每当我查看它时,它总是将“Ctrl + X + Ctrl + O”称为语法自动完成,因此我认为这就是我所知道的功能。但也许我错了。
我希望有人能更好地向我解释这个问题,指引我正确的方向。或者告诉我我是否走在正确的道路上(如果是的话),并帮助我解决这个问题?
谢谢大家。 保重。
如请求所示,这里是相关信息:
http://pastebin.com/QfUDVvdP。我的版本是7.3(又名vim73)。我正在使用CLI版本,因为我发现GVIM实际上更令人困惑。但我两者都有,并且它们使用相同的vim运行时。我没有添加任何插件或额外功能,因为这是在Ubuntu 12.04上进行的新安装,这也是一个新安装。唯一被修改或添加的是“smali.vim”语法高亮到语法文件夹中,以及opa.vim和opajs.vim。还有opacomplete.vim到autoload。在/etc/vim/文件夹中有vimrc、vimrc.tiny以及gvimrc。所有vim文件都位于默认目录/usr/share/vim/vim73/和/usr/share/vim/中。除了已经指定的内容之外,没有移动、更改或修改任何文件。