2012-01-24 58 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