Ⅰ. 插件描述
lint for vim scriptⅡ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'syngan/vim-vimlint'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'syngan/vim-vimlint'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'syngan/vim-vimlint'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/syngan/vim-vimlint
Ⅳ. 文档说明
Install
by Neobundle
NeoBundle 'syngan/vim-vimlint', {
\ 'depends' : 'ynkdir/vim-vimlparser'}Usage
call vimlint#vimlint(filename [, param])
call vimlint#vimlint('vimlint.vim')
call vimlint#vimlint(directory)- output to the file "hoge"
call vimlint#vimlint('vimlint.vim', {'output' : 'hoge'})Travis-CI
Create .travis.yml in your plugin's directory.
before_script:
- git clone https://github.com/syngan/vim-vimlint /tmp/vim-vimlint
- git clone https://github.com/ynkdir/vim-vimlparser /tmp/vim-vimlparser
script:
- sh /tmp/vim-vimlint/bin/vimlint.sh -l /tmp/vim-vimlint -p /tmp/vim-vimlparser -v autoloadIf you want to ignore EVL103 for any cases and EVL102 for variable _,
before_script:
- git clone https://github.com/syngan/vim-vimlint /tmp/vim-vimlint
- git clone https://github.com/ynkdir/vim-vimlparser /tmp/vim-vimlparser
script:
- sh /tmp/vim-vimlint/bin/vimlint.sh -l /tmp/vim-vimlint -p /tmp/vim-vimlparser -e EVL103=1 -e EVL102.l:_=1 -c func_abort=1 autoloadRecommended Plugin
syntastic.vim which is one of the most popular syntax checking plugin for Vim supports vim-vimlint as a syntax checker of vim script.
Since vim-vimlint is written in vim script, vim-vimlint is very slow.
We recommend you to use vim-vimlint with vim-watchdogs which is an async syntax checking plugin based on vim-quickrun and vimproc.
Example
Pull Requests / Issues
- Shougo/unite-outline/pull/18 (
EVL105use global variables && syntax error) - Shougo/unite-outline/pull/14 (
EVL105use global variables) - vim-jp/vital.vim/issues/95 (
EVL101undefined variable, missinga:) - thinca/vim-ref/pull/35 (syntax error)
- Shougo/neobundle.vim/issues/142 (
EVL101undefined variable) - Shougo/vimshell.vim/pull/111 (
EVL101undefined variables) - vim-jp/vital.vim/commit/d4e9ff0 (
EVL101undefined variable) - scrooloose/syntastic/commit/bf91089
- google/vim-maktaba/pull/106 (missing comma)
- junegunn/vim-easy-align/issues/47 (
E587:break without :while or :for) - mattn/emmet-vim/issues/236 (
E171missingendif,EVL108invalid usage ofsubstitute(),E46fora:) - suy/vim-lastnextprevious/issues/1 (
EVL105use global variables) - gcmt/wildfire.vim/issues/21 (
EVL105use global variables) - gcmt/wildfire.vim/issues/22 (syntax error)
- ctrlpvim/ctrlp.vim/issues/56 (missing
endif) - benekastah/neomake/issues/9 (
EVL205missing scriptencoding) - davidhalter/jedi-vim/pull/328 (
EVL105use global variables) - davidhalter/jedi-vim/pull/329 (
EVL205missing scriptencoding) - chrisbra/NrrwRgn/issues/32 (syntax error)
- tpope/vim-rails/issues/369 (syntax error)
- Lokaltog/vim-easymotion/issues/201 (
EVL101undefined variable, missinga:) - junegunn/vim-plug/issues/131 (missing dot)
- osyo-manga/vim-anzu/issues/14 (
EVL106missingl:for a count variable) - Shougo/vimshell.vim/issues/177 (
EVL108invalid format of 1st arg of printf)