2012-01-24 27 views
3

我有一个很大的vim脚本(一个.vim文件,在viml语法中)。我想检查(但不执行!)该文件的简单语法错误。语法检查一个VimL脚本

我该如何做到这一点?

我只想要一个非常粗略的语法检查。沿着perl -cpyflakes的行。

+1

Uhmm,有没有一个具体的理由,为什么你不希望执行它? – Rook

+0

任何数量的原因。脚本需要我没有的输入,或者对git仓库进行更改,我不想每次都需要测试脚本。我敢肯定,一个有创意的头脑可以想到更多。 – bukzor

+0

不能Vim语法荧光笔就够了? – Benoit

回答

2

这是VimL的语法检查器。 https://github.com/syngan/vim-vimlint/

+0

非常有趣!我必须尝试。如果它有效,我会努力将它集成到[syntastic](https://github.com/scrooloose/syntastic)。 – bukzor

1

我不认为(我相对肯定,多达一个可以)一个存在。 VimL是Vim的内部语言(也是唯一的Vim),并没有为它开发许多工具。

我试图搜索vim.org和其他几个地方,没有运气。不要太惊讶,因为我从来没有听说过。

因此,您要么坚持运行脚本,要么切换到Python,Perl或Ruby之类的外部语言。

+0

是否没有vim函数读取.vim文件而不执行它? – bukzor

+0

@bukzor - 我不这么认为。老实说,我认为没有必要。通常的做法是简单地运行代码。 VimL并不是人们打算在其中创建企业级应用程序的那种语言。 – Rook

0

https://github.com/osyo-manga/vim-watchdogs

vim-watchdogs,显然,是vim的语法检查器,它说,它支持多国语言,包括vimL

如果你使用vundle,你可以拖放到你的vimrc这样的:

Plugin 'git://github.com/osyo-manga/vim-watchdogs.git'

..和然后运行:

:PluginInstall

..to设置它(vundle is a very nifty plugin manager)如果你有syntastic,你可能要小心,先禁用它,然后看它是否是一个适当的替代(因为它说,它支持所有这些语言无论如何)。

可以肯定的是,当你有多个语法检查器时,你需要把你的“狗放在皮带上”,可以这么说;通过配置一个来检查另一个没有的语言,反之亦然。如果你不这样做,最多只会碰撞,重复或误导。最糟糕的是,你将拥有以上所有内容。

确保你总是备份你的〜/ .vim目录(或者你的VIMRUNTIME目录,如果你在全局级别安装的话),你会很高兴你做到了。希望能帮助你或其他人,祝你好运!对不起你不得不等待7.5个月的回应,嘿:)

+0

据我所知,这只是利用vimlint,由@ynkdir提及 – bukzor