推荐用于JavaScript编码的Vim插件?

时间:2011-01-23 23:45:56

标签: javascript vim

我是JS&的新手Vim的。哪些插件可以帮我编写Javascript代码?

5 个答案:

答案 0 :(得分:115)

语法检查/输入

有一种非常简单的方法可以使用Syntastic Vim插件将JSLint或社区驱动的jshint.com(更好的IMO)与Vim集成。有关详细信息,请参阅my other post

源代码浏览/标签列表

使用Mozilla的 DoctorJS (以前的 jsctags )添加标记列表也有一种非常简洁的方法,它也用于Cloud9 IDE的{{ 3}}

  1. 使用您最喜欢的软件包管理器(Ubuntu的apt-get,Mac的Ace online editor等)安装以下软件包:
    1. exuberant-ctags
      • 注意:安装后请确保正在运行ctags实际运行exuberant-ctags而不是预安装操作系统ctags。您可以通过执行ctags --version
      • 找到答案
    2. node(Node.js)
  2. 从github克隆DoctorJSgit clone https://github.com/mozilla/doctorjs.git
  3. 进入DoctorJS目录和make install(您还需要安装make应用,但这是非常基本的)。
    • 安装插件时存在一些错误,make install目前暂时无法解决问题。现在我只需将repo的bin/目录添加到我的$ PATH中。有关详细信息,请参阅home brew
  4. 安装DoctorJS's GitHub and issues pages注意:它是TagBar,而不是旧的臭名昭着的TagList!)。
  5. PROFIT。 :)
  6. 新项目 - Tern.js

    TagBar Vim plugin。有一个名为DoctorJS is currently dead的新项目。它目前处于测试阶段,最终应该取而代之。

    有一个项目tern.js,它使用tern作为引擎。只需npm install -g它,标签栏就会自动将其用于javascript文件。

答案 1 :(得分:17)

snipMate模拟TextMate的插入系统,默认情况下附带了一堆有用的JS片段(以及其他内容)。添加自己的内容非常容易。

javaScriptLint可让您针对jsl.

验证您的代码

您还可以在vim.org上找到各种JavaScript syntax files。试试它们,看看哪种方法最适合你和你的编码风格。

本机omnicomplete( ctrl x - ctrl o )对我来说效果很好。您可以使用autoComplPop使其更具动态性,但有时可能会令人讨厌。

编辑,以响应tarek11011的评论:

默认情况下,acp对JavaScript不起作用,你必须稍微调整一下。我是这样做的(脏黑客,我还是Vim noob):

在vim-autocomplpop / plugin / acp.vim中,我已将phpjavascript(以及actionscript)添加到behavs,以便它看起来像这样:< / p>

let behavs = {
    \   '*'            : [],
    \   'ruby'         : [],
    \   'python'       : [],
    \   'perl'         : [],
    \   'xml'          : [],
    \   'html'         : [],
    \   'xhtml'        : [],
    \   'css'          : [],
    \   'javascript'   : [],
    \   'actionscript' : [],
    \   'php'          : [],
    \ }

稍后,有一系列代码块看起来像这样:

"---------------------------------------------------------------------------
call add(behavs.ruby, {
    \   'command' : "\<C-x>\<C-o>",
    \   'meets'   : 'acp#meetsForRubyOmni',
    \   'repeat'  : 0,
    \ })

我复制了这个并编辑了一下看起来像这样:

"---------------------------------------------------------------------------
call add(behavs.javascript, {
    \   'command' : "\<C-x>\<C-o>",
    \   'meets'   : 'acp#meetsForRubyOmni',
    \   'repeat'  : 0,
    \ })

并为actionscript和php做了同样的事情。

如果你想在HTML文档中编辑JS / CSS,你可以这样做:在Vim的命令行中设置ft = html.css.javascript以使 ctrl x - ctrl o 按预期工作在JS块中的方法/属性名称和CSS块中的属性/值。然而,这种方法也有其缺点(奇怪的缩进......)。

答案 2 :(得分:8)

此插件也很有用:https://github.com/maksimr/vim-jsbeautify。 它为javascript提供完整的自动配置。 一键击,你的代码看起来很漂亮。在粘贴代码片段时它也可以派上用场。 它利用了流行的js-beautifier,它也可以作为在线应用程序找到。后者可以在这里找到:http://jsbeautifier.org/

答案 3 :(得分:6)

我只使用一个js特定的vim插件 - jslint.vim - https://github.com/hallettj/jslint.vim,它使用jslints规则验证您的代码,并为您提供语法错误。

答案 4 :(得分:3)

修复缩进和自动格式化(Ctrl =):JavaScript Indent

要设置缩进宽度,请将javascript.vim文件添加到〜/ .vim / ftplugin目录中,并附带以下内容(用于两个空格缩进):

 setl sw=2 sts=2 et