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

Tar*_*ied 125 javascript vim

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

Ory*_*and 115

语法检查/输入

有一种非常简单的方法可以使用Syntastic Vim插件将JSLint或社区驱动的jshint.com(这是更好的IMO)与Vim集成.请参阅我的其他帖子了解更多信息.

源代码浏览/标签列表

还有一种使用Mozilla的DoctorJS(以前称为jsctags)添加标签列表的非常简洁的方法,它也用于Cloud9 IDEAce在线编辑器.

  1. 使用您最喜欢的包管理器(Ubuntu apt-get,Mac的主页brew等)安装以下包:
    1. exuberant-ctags
      • 注意:安装后确保运行ctags实际运行exuberant-ctags而不是预安装操作系统ctags.你可以通过执行找到ctags --version.
    2. node (Node.js的)
  2. DoctorJS从github 克隆:git clone https://github.com/mozilla/doctorjs.git
  3. 进入DoctorJSdir和make install(你也需要make安装应用程序,但这是非常基本的).
    • 安装插件有一些错误,make install目前暂不行.现在我只是将repo的bin/目录添加到我的$ PATH中.有关详细信息,请参阅DoctorJS的GitHub并发布页面.
  4. 安装TagBar Vim插件(注意:它是TagBar,而不是旧的臭名昭着的TagList!).
  5. 利润.:)

新项目 - Tern.js

DoctorJS目前已经死亡.有一个名为tern.js的新项目.它目前处于早期测试阶段,最终应该取而代之.

有一个项目ramitos/jsctags使用tern作为它的引擎.就npm install -g这样,标签栏会自动将它用于javascript文件.

  • 目前,doctorjs要求你按照[这个bug](https://github.com/mozilla/doctorjs/issues/12),`git clone --recursive https://github.com/mozilla/doctorjs中的规定克隆递归. git`然后make install应该工作 (9认同)
  • 在执行第3步之前,请进入doctorjs并执行以下操作:`git submodule init && git submodule update`.然后做第3步. (6认同)
  • TagBar为+1(只知道TagList!) (5认同)
  • brew命令实际上是'brew install ctags-exuberant` (2认同)

rom*_*inl 17

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

javaScriptLint允许您根据jsl验证代码.

您还可以在vim.org上找到各种JavaScript语法文件.试试它们,看看哪一个最适合你和你的编码风格.

本机omnicomplete(ctrlx- ctrlo)对我很有用.您可以使用autoComplPop使其更具动态,但有时可能会令人讨厌.

编辑,以回应tarek11011的评论:

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

在VIM-autocomplpop /插件/ acp.vim我添加phpjavascript(和actionscript),以behavs使得它看起来像这样:

let behavs = {
    \   '*'            : [],
    \   'ruby'         : [],
    \   'python'       : [],
    \   'perl'         : [],
    \   'xml'          : [],
    \   'html'         : [],
    \   'xhtml'        : [],
    \   'css'          : [],
    \   'javascript'   : [],
    \   'actionscript' : [],
    \   'php'          : [],
    \ }
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

如果你想一个HTML文档中编辑JS/CSS,你可以这样做:集英尺= Vim的命令行html.css.javascript做ctrlx- ctrlo工作方法上如预期/在CSS块JS块和属性/值的属性名称.然而,这种方法也有其缺点(奇怪的缩进......).


Chi*_*nke 8

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

  • 我为vim编写了一个通用的autoformatting插件,它集成了js-beautifier等等.点击此处:https://github.com/Chiel92/vim-autoformat (3认同)

Sco*_*ott 6

我只用一个JS特定的vim插件- jslint.vim - https://github.com/hallettj/jslint.vim与jslints规则验证你的代码,并为您提供了语法错误也是如此.