實用!開發者的 Vim 外掛(二)
導讀 | 毫無疑問,Vim 是一個開箱即用並能夠勝任程式設計任務的編輯器,但實際上是該編輯器中的外掛幫你實現這些方便的功能。在開發者的實用 Vim 外掛(一),我們已經討論兩個程式設計相關的 Vim 外掛——標籤側邊欄(Tagbar)和定界符自動補齊(delimitMate)。作為相同系列,我們在本文討論另一個非常有用、專門為軟體開發正定製的外掛——語法高亮外掛。 |
請注意:本教程中列舉的所有例示、 和說明都是在 Ubuntu 16.04 環境下進行測試的,並且,我們使用的 Vim 版本是 7.4。
假如你的軟體開發工作涉及到 C/C++ 語言,毫無疑問的說,遇到編譯錯誤也是你每天工作中的一部分。很多時候,編譯錯誤是由原始碼之中的語法不正確造成的,因為開發者在瀏覽原始碼的時候很少能夠一眼就看出所有這些錯誤。
那麼 Vim 中是否存在一種外掛可以讓你不經編譯原始碼就可以顯示出語法錯誤呢?當然是有這樣一種外掛的,其名字就是 Syntastic。
“Syntastic 是 Vim 用來檢驗語法的外掛,透過外部語法校驗器校驗檔案並將錯誤呈現給使用者。該過程可以在需要時進行,或者在檔案儲存的時候自動進行。”該外掛官方文件如是說。“如果檢測到語法錯誤就會提示使用者,因為不用編譯程式碼或者執行 就可以知道語法錯誤,使用者也就樂享與此了。”
安裝過程和第一部分提到的方法類似,你只需要執行下列 即可:
cd ~/.vim/bundle/ git clone
一旦你成功安裝這個外掛(即上述命令執行成功),你就不需要進行任何配置了——當 Vim 啟動時會自動載入這個外掛。
現在,開啟一個原始碼檔案並用":w" Vim 命令儲存即可使用這個外掛了。等待片刻之後,如果在原始碼中有語法錯誤的好,就會高亮顯示出來。比如,看看一下截圖你就會明白該外掛是如何高亮顯示語法錯誤的:
在每行之前的 ">>" 表示該行中有語法錯誤。瞭解確切的錯誤或者想知道是什麼東西錯了,將游標移到該行——錯誤描述就會展示在 Vim 視窗的最底下。
這樣,不用進行編譯你就能夠修復大多數語法相關的錯誤。
再往下,如果你執行 ":Errors" 命令,就會展現當前原始檔中所有語法相關錯誤的描述。比如,我執行
:Errors
命令就是下圖的效果:
請記住,":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。
原文來自: https://www.linuxprobe.com/vim-plug-in-developers02.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2933051/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 開發者的實用 Vim 外掛(二)
- 實用!開發者的 Vim 外掛(一)
- 開發者的實用 Vim 外掛(3)
- 開發者的實用 Vim 外掛(一)
- 關於vim的實用外掛
- 5 個好用的開發者 Vim 外掛
- vim進階 | 使用外掛打造實用vim工作環境
- vim的外掛SuperTab
- 8個針對開發者的MooTools實用外掛
- Vim 外掛管理
- VIM外掛AutoClose
- vim 外掛的安裝
- vim外掛的安裝
- 教你用NeoBundle管理Vim外掛
- vim外掛之Taglist
- 關於vim外掛
- 如何管理 Vim 外掛
- Vim外掛入門
- VIM 外掛安裝
- eclipse vim外掛Eclipse
- vim實戰:外掛安裝(Vundle,NerdTree)
- vim外掛的安裝方式 -- vim註釋外掛和doxygen函式註釋生成外掛-ctrlp外掛-tabular等號對齊 外掛...函式
- 適用於開發者的最佳火狐外掛
- 如何安裝 Vim 外掛
- 10款優秀的vim外掛
- 使用Vundle管理配置Vim的外掛
- vim外掛 NERDTree安裝使用
- vim配置檔案和外掛
- Vim配置、外掛和使用技巧
- React實用外掛React
- Vim-plug:極簡 Vim 外掛管理器
- PHP外掛系統的實現(二):獲取全部外掛資訊PHP
- 配置vim外掛遇到youcompleteme外掛問題解決方案
- python vim外掛是什麼Python
- vim自動補全外掛配置
- 無外掛Vim程式設計技巧程式設計
- vim幾款外掛使用記錄
- 二、外掛