正如我发现的那样,使用默认的omnicomplete函数的csscomplete和javascriptcomplete之间存在一些差异。在 css 文件中我输入“c”,然后建议菜单自动显示,我什至不使用快捷方式。
但是在我输入“d”的javascript文件中,菜单不显示,直到我输入“ctrl-x ctrl-o”。
我不想每次都输入快捷方式,如何使 javascript 与 csscomplete 具有相同的行为?非常感谢。
正如我发现的那样,使用默认的omnicomplete函数的csscomplete和javascriptcomplete之间存在一些差异。在 css 文件中我输入“c”,然后建议菜单自动显示,我什至不使用快捷方式。
但是在我输入“d”的javascript文件中,菜单不显示,直到我输入“ctrl-x ctrl-o”。
我不想每次都输入快捷方式,如何使 javascript 与 csscomplete 具有相同的行为?非常感谢。
通常,您必须键入 Ctrl-X Ctrl-O 才能调用 Omni 补全;您可能正在使用AutoComplPop插件来自动打开完成菜单。这个插件支持 Ruby、Python、Xml、HTML 和 CSS 的全向补全,但不支持 JavaScript。
基于现有的语言,将支持扩展到 JavaScript 可能并不太难。如果您对 Vimscript 感到满意,您可以自己尝试一下,然后向插件作者提交补丁。否则,您必须向作者寻求帮助。
或者,您可以重新考虑您的方法。比如我有反弹Ctrl+Space来触发omnicompletion:
inoremap <expr> <C-Space> pumvisible() ? '<C-n>' : '<C-x><C-o>'
如果 Ingo 是正确的并且您使用 AutoComplPop,您可能会对我在此处、此处和此处对该插件所做的小改动感兴趣,以使其与 JavaScript(和 PHP)一起使用。
我建议使用“neocomplcache”而不是“autocomplpop”。它还支持 javascript 自动补全,并且比 autocomplpop 具有更大的灵活性。你甚至可以让 neocomplcache 表现得像 autocomplpop。
在这里查看:https ://github.com/Shougo/neocomplcache 。