Linux中國

開發者的實用 Vim 插件(二)

請注意:本教程中列舉的所有例示、命令和說明都是在 Ubuntu 16.04 環境下進行測試的,並且,我們使用的 Vim 版本是 7.4。

語法高亮(Syntastic插件

假如你的軟體開發工作涉及到 C/C++ 語言,毫無疑問的說,遇到編譯錯誤也是你每天工作中的一部分。很多時候,編譯錯誤是由源代碼之中的語法不正確造成的,因為開發者在瀏覽源碼的時候很少能夠一眼就看出所有這些錯誤。

那麼 Vim 中是否存在一種插件可以讓你不經編譯源碼就可以顯示出語法錯誤呢?當然是有這樣一種插件的,其名字就是 Syntastic

Syntastic 是 Vim 用來檢驗語法的插件,通過外部語法校驗器校驗文件並將錯誤呈現給用戶。該過程可以在需要時進行,或者在文件保存的時候自動進行。」該插件 官方文檔 如是說。「如果檢測到語法錯誤就會提示用戶,因為不用編譯代碼或者執行腳本就可以知道語法錯誤,用戶也就樂享與此了。」

安裝過程和第一部分提到的方法類似,你只需要運行下列命令即可:

cd ~/.vim/bundle/

git clone https://github.com/scrooloose/syntastic.git

一旦你成功安裝這個插件(即上述命令執行成功),你就不需要進行任何配置了——當 Vim 啟動時會自動載入這個插件。

現在,打開一個源碼文件並用 :w Vim 命令保存即可使用這個插件了。等待片刻之後,如果在源碼中有語法錯誤的好,就會高亮顯示出來。比如,看看一下截圖你就會明白該插件是如何高亮顯示語法錯誤的:

Vim Syntax error highlighting

在每行之前的 >> 表示該行中有語法錯誤。了解確切的錯誤或者想知道是什麼東西錯了,將游標移到該行——錯誤描述就會展示在 Vim 窗口的最底下。

View Syntax errors in Vim

這樣,不用進行編譯你就能夠修復大多數語法相關的錯誤。

再往下,如果你運行 :Errors 命令,就會展現當前源文件中所有語法相關錯誤的描述。比如,我運行 :Errors 命令就是下圖的效果:

Syntastic :Errors command

請記住,:Errors 展現的語法錯誤是不會自動更新的,這意味著在你修復錯誤之後,你需要重新運行 :Errors 命令,編輯器底部的錯誤描述才會消除。

值得一提的是,還有 許多配置選項 能夠使得 Syntastic 插件使用起來更加友好。比如,你可以在你的 .vimrc 中添加下列內容,然後 :Errors 就可以在修復錯誤之後自動更新它的底部描述。

let g:syntastic_always_populate_loc_list = 1

添加以下內容,以確保在你打開文件時 Syntastic 插件自動高亮顯示錯誤。

let g:syntastic_check_on_open = 1

類似的,你也可以在保存或打開文件時讓游標跳轉到檢測到的第一個問題處,將下列行放到你的 .vimrc 文件之中:

let g:syntastic_auto_jump = 1

這個值也可以指定為其它兩個值: 2 和 3,其官方文檔的解釋如下:

「如果設置為 2 的話,游標就會跳到檢測到的第一個問題,當然,只有這個問題是一個錯誤的時候才跳轉;設置為 3 的話,如果存在錯誤,則會跳到第一個錯誤。所有檢測到的問題都會有警告,但游標不會跳轉。」

以下信息可能對你有幫助:

「使用 :SyntasticCheck 來手動檢測錯誤。使用 :Errors 打開錯誤位置列表並使用 :lclose 來關閉。使用 :SyntasticReset 可以清除掉錯誤列表,使用 :SyntasticToggleMode 來切換激活(在寫到 buffer 時檢測)和被動(即手動檢測)檢測錯誤。」

注意:Syntastic 並不局限於 C/C++ 所寫的代碼,它同時也支持很多的編程語言——點擊 此處 了解更多相關信息。

結論

毫無疑問的,Syntastic 是一個非常有用的 Vim 插件,因為在出現語法相關錯誤時候,它至少能夠讓免去頻繁編譯的麻煩,而且不用說,同時也節約了你不少的時間。

正如你所看到的一樣,配置好幾個主要選項之後,Syntastic 變得非常好用了。為了幫助你了解這些設置,官方文檔中包含了一份「推薦設置」——跟著文檔進行設置即可。加入你遇到一些錯誤、有些疑問或者問題,你也可以查詢一下 FAQ。

via: https://www.howtoforge.com/tutorial/vim-editor-plugins-for-software-developers-2-syntastic/

作者:Ansh 譯者:GHLandy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國