到目前為止我們的 vim
已經看起來有模有樣了,但相較於 IDE 還是顯得有些外強中乾,連語法提示都還沒有!
為了防止世界被破壞大家看到這邊仍然興致缺缺,今天就來講講有關 vim
的語法提示吧!
Plug 'scrooloose/syntastic'
這是一款在 vim
中很常見的語法檢查套件,因為它支援了大部分的語言,並且能夠列出各個提示給使用者。
雖然好像基本的 IDE 都做得到,但在 vim
裡面有這套工具不覺得很酷嗎!
安裝完這個套件後,首先我按照官方推薦的設定進行調整:
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
但因為各個語法有不同的檢查引擎,光 python
就有 flake8
、pylint
、pyflakes
等好幾種選擇,因此 syntastic
也提供了更改的變數:
let g:syntastic_python_checkers = ['pylint']
如果希望有些提示訊息不要列出來,那麼 syntastic
也提供了宣告的方法:
let g:syntastic_html_tidy_quiet_messages={"level":"warnings"}
以上就是關於 syntastic
的介紹。
Plug 'neoclide/coc.nvim', {'branch': 'release'}
這是一款由中國開發的語法提示管理員!容我稍微介紹一下這款引擎:coc
的名稱全名是 Conquer of Completion
征服自動補全
!聽起來超中二厲害,並且是為 NeoVim
量身定做的套件 (當然也支援 Vim 8
)
而你可能會疑惑,前面的安裝都只需要打上套件名,這次怎麼硬生生加上了 , {'branch': 'release'}
?
別慌,這是官方推薦的版本,他們家是用 release
這個分支作為產品的主線。上述的語法就是選用這個分支上的代碼來進行安裝。
安裝完後你會馬上發現,它怎麼好像一點用也沒有!!!
那是因為你沒有放乖乖你沒安裝服務的語言。安裝的指令很簡單:
CocInstall coc-{ServerName}
就可以發現在 ~/.config/coc/extensions/
底下有安裝的這個語言的提示引擎~
不過 coc
是由 Node.js
開發的,所以系統也必須先安裝 node
。
<tab>
完成語法提示Plug 'majutsushi/tagbar'
既然要把 vim
打造成一個 IDE,當然少不了像是 Vistual Studio
的按下 <tab>
插入自動補全功能呀!
supertab
即是一款將所有提示列出並且自動補全的套件。
當你安裝完後並且躍躍欲試的馬上使用了 <tab>
操作,這個 <tab>
怎麼是反著選啊???
別擔心我已經幫各位踩好雷了,改個往前及倒退的設定就好:
let g:SuperTabMappingForward='<s-tab>'
let g:SuperTabMappingBackward='<tab>'
這樣就將順序改為我們習慣的樣子啦!
相信到了這一步,vim
已然成為不輸給任何 IDE 的開發神器了!
但相信我,他不只有這樣而已!我們可以再繼續從 Vim Awesome 中挖到更多寶藏~