vim javascript omnicomplete

Jun*_* Ng 18 javascript vim jquery

我试图让vim提供某种形式的jQuery Omnicomplete.我已经使用ctags基于jquery js文件生成标签.之后我使用了javascript打开omnicompletion

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
Run Code Online (Sandbox Code Playgroud)

之后我将tags变量设置为我创建的标记文件

set tags+=~/.vim/tags/jquery
Run Code Online (Sandbox Code Playgroud)

当我打开一个js文件,并使用:ta我能够找到我想要的功能,但当我尝试使用omnicompletion时,它只是没有出现.例如,我从网上获取此代码进行测试:

$("input").has(".email").addClass("email_icon");    
Run Code Online (Sandbox Code Playgroud)

在VIM中,键入后$("input").,我点击tab(设置了supertab)并且has没有出现,即使我可以通过模糊查找器找到它或:ta

有什么建议我可以做些什么来解决这个问题?谢谢!:)

Ory*_*and 7

使用Mozilla的DoctorJS(以前称为jsctags),它也用于Cloud9 IDEAce在线编辑器.

有关详细信息(安装,配置等),请参阅此问题此问题的答案.


Art*_*BIT 5

javascriptcomplete#CompleteJS不使用该ctags文件完成.

你可以做的是,你可以为jQuery编写自己的omni-complete函数,甚至更好,扩展javascriptcomplete#CompleteJS定义的函数/usr/share/vim/vim72/autoload/javascriptcomplete.vim以满足你的需要.

  • 顺便说一句,您可以使用`Cx C-]`访问基于标签的完成,或让SuperTab为您尝试. (2认同)

xer*_*r0x 5

获得javascript自动完成的另一种方法是使用mozilla的'jsctags'项目.它为javascript生成了比'exuberant ctags'更好的标签.希望当你使用supertab和taglist-plus时你会看到更多.

欲了解更多信息:http://www.discontinuously.com/2011/03/vim-support-javascript-taglist-plus/