【问题标题】:vim javascript omnicompletevim javascript全功能
【发布时间】:2011-05-03 12:31:56
【问题描述】:

我正在尝试让 vim 提供某种形式的 jQuery Omnicomplete。我已经使用 ctags 来生成基于 jquery js 文件的标签。之后我使用

打开了javascript的omnicompletion
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

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

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

当我打开一个 js 文件并使用 :ta 时,我能够找到我想要的功能,但是当我尝试使用omnicompletion 时,它就没有出现。比如我从网上拿了这段代码来测试:

$("input").has(".email").addClass("email_icon");    

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

关于我能做些什么来解决这个问题有什么建议吗?谢谢!:)

【问题讨论】:

    标签: javascript jquery vim


    【解决方案1】:

    javascriptcomplete#CompleteJS 不使用ctags 文件来完成。

    您可以做的是,您可以为 jQuery 编写自己的全功能函数,或者更好地扩展 /usr/share/vim/vim72/autoload/javascriptcomplete.vim 中定义的 javascriptcomplete#CompleteJS 函数以满足您的需求。

    【讨论】:

    • 顺便说一句,您可以使用C-x C-] 访问基于标签的补全,或者让SuperTab 为您试用。
    【解决方案2】:

    另一种获得 javascript 自动补全的方法是使用 mozilla 的“jsctags”项目。它为 javascript 生成比“exuberant ctags”更好的标签。希望您在使用 supertab 和 taglist-plus 时能看到更多。

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

    【讨论】:

      【解决方案3】:

      使用 Mozilla 的 DoctorJS(以前的 jsctags),Cloud9 IDEAce online editor 也使用了它。

      有关更多信息(安装、配置等),请参阅我对 this questionthis question 的回答。

      【讨论】:

      • DoctorJS 能否处理 jQuery 源代码(“Try It”功能似乎无法处理)。
      • 我不知道。对不起。你得试试看。
      • 它似乎为 jquery 插件生成 ctags 就好了,但不是为 jquery 本身生成 ctags(它显然很早以前就使用过,但它已经坏了)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-22
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 2010-12-05
      • 2013-02-17
      相关资源
      最近更新 更多