Vim JavaScript自动补全功能

18

我想让vim提供一种类似于jQuery的自动补全功能。我已经使用ctags生成了基于jQuery js文件的标签。之后,我已经打开了javascript的omnicompletion。

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

然后我将tags变量设置为我创建的标签文件

set tags+=~/.vim/tags/jquery

当我打开一个 JavaScript 文件并使用 :ta 命令时,可以找到我想要的函数,但是当我尝试使用 omnicompletion 时,它却没有弹出来。例如,我从网络上获取了以下代码进行测试:

$("input").has(".email").addClass("email_icon");    
在Vim中,当我输入$("input").后,使用Tab键(在安装了SuperTab插件的情况下),has并不会出现,即使我可以通过模糊查找或:ta找到它。
有什么建议可以解决这个问题吗?谢谢! :)
3个回答

7

DoctorJS能否处理jQuery源代码(“试一试”功能似乎无法处理)? - Hank Gay
我不知道。抱歉。你只能尝试并查看。 - Ory Band
1
它似乎可以很好地为jQuery插件生成ctags,但不能为jQuery本身生成(显然以前可以,但现在已经失效了)。 - hendrixski

5

5

javascriptcomplete#CompleteJS不使用ctags文件进行自动完成。

你可以编写自己的jQuery omni-complete函数,或者更好的方法是扩展/usr/share/vim/vim72/autoload/javascriptcomplete.vim中定义的javascriptcomplete#CompleteJS函数以满足你的需求。


2
顺便提一下,您可以使用 C-x C-] 访问基于标签的自动完成,或者让 SuperTab 为您尝试它。 - ches

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接