推荐用于JavaScript编码的Vim插件?
我是JS&Vim的新手。 哪个插件能帮我编写Javascript代码?
语法检查/ Linting
有一个非常简单的方法可以将JSLint或社区驱动的jshint.com (这是更好的IMO)与Vim结合使用Syntastic Vim插件。 看到我的其他职位了解更多信息。
源代码浏览/标签列表
使用Mozilla的DoctorJS (以前的jsctags )也可以很方便地添加标签列表, Cloud9 IDE的Ace在线编辑器也使用它。
- 使用你喜欢的软件包pipe理器(Ubuntu的
apt-get
,Mac的brew
等)来安装下列软件包:-
exuberant-ctags
- 注:安装后确保运行
ctags
实际上运行exuberant-ctags
而不是操作系统的预安装ctags
。 你可以通过执行ctags --version
find。
- 注:安装后确保运行
-
node
(Node.js)
-
- 从github克隆
DoctorJS
:git clone https://github.com/mozilla/doctorjs.git
- 进入
DoctorJS
目录并make install
(您还需要安装make
app,但这是非常基本的)。- 安装插件有一些bug,
make install
暂时没有办法。 现在我只是将repo的bin/
dir添加到我的$ PATH中。 查看DoctorJS的GitHub并发布页面以获取更多信息。
- 安装插件有一些bug,
- 安装TagBar Vim插件 ( 注意:它是TagBar,而不是臭名昭着的TagList!)。
- 利润。 🙂
新项目 – 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 x – ctrl o )对我来说工作得很好。 您可以使用autoComplPop使其更具dynamic性 ,但有时可能会令人讨厌。
编辑,回应tarek11011的评论:
acp在默认情况下不适用于JavaScript,你必须调整一下。 这是我做的(脏兮兮的,我还是个Vim noob):
在vim-autocomplpop / plugin / acp.vim中,我添加了php
和javascript
(和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 x – ctrl在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