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

我是JS&Vim的新手。 哪个插件能帮我编写Javascript代码?

语法检查/ Linting

有一个非常简单的方法可以将JSLint或社区驱动的jshint.com (这是更好的IMO)与Vim结合使用Syntastic Vim插件。 看到我的其他职位了解更多信息。

源代码浏览/标签列表

使用Mozilla的DoctorJS (以前的jsctags )也可以很方便地添加标签列表, Cloud9 IDE的Ace在线编辑器也使用它。

  1. 使用你喜欢的软件包pipe理器(Ubuntu的apt-get ,Mac的brew等)来安装下列软件包:
    1. exuberant-ctags
      • 注:安装后确保运行ctags实际上运行exuberant-ctags而不是操作系统的预安装ctags 。 你可以通过执行ctags --versionfind。
    2. node (Node.js)
  2. 从github克隆DoctorJSgit clone https://github.com/mozilla/doctorjs.git
  3. 进入DoctorJS目录并make install (您还需要安装make app,但这是非常基本的)。
    • 安装插件有一些bug, make install暂时没有办法。 现在我只是将repo的bin/ dir添加到我的$ PATH中。 查看DoctorJS的GitHub并发布页面以获取更多信息。
  4. 安装TagBar Vim插件 ( 注意:它是TagBar,而不是臭名昭着的TagList!)。
  5. 利润。 🙂

新项目 – Tern.js

DoctorJS目前已经死了 有一个新的有前途的项目叫做tern.js。 它目前处于早期testing阶段,应该最终取代它。

有一个项目ramitos / jsctags使用tern作为其引擎。 只需要npm install -g ,tagbar会自动将它用于javascript文件。

snipMate模拟TextMate的插入系统,默认情况下会附带一些有用的JS片段(等等)。 添加你自己的是非常容易的。

javaScriptLint允许你根据jsl来validation你的代码。

你也可以在vim.org上find各种JavaScript语法文件 。 尝试一下,看看哪一个最适合你和你的编码风格。

本地的omnicomplete( ctrl xctrl o )对我来说工作得很好。 您可以使用autoComplPop使其更具dynamic性 ,但有时可能会令人讨厌。

编辑,回应tarek11011的评论:

acp在默认情况下不适用于JavaScript,你必须调整一下。 这是我做的(脏兮兮的,我还是个Vim noob):

在vim-autocomplpop / plugin / acp.vim中,我添加了phpjavascript (和actionscript )到behavs ,使它看起来像这样:

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

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

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

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

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

并做了相同的动作和PHP。

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

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

我只使用一个js特定的vim插件 – jslint.vim – https://github.com/hallettj/jslint.vim ,它用jslints规则validation你的代码,并给你语法错误。

修复缩进和自动生成(Ctrl =): JavaScript缩进

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

  setl sw=2 sts=2 et