iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
0
自我挑戰組

用 vim 打造屬於自己的 IDE系列 第 15

Day 15 用 vim script 客製化套件 (三)

  • 分享至 

  • xImage
  •  

到目前為止我們的 vim 已經看起來有模有樣了,但相較於 IDE 還是顯得有些外強中乾,連語法提示都還沒有!

為了防止世界被破壞大家看到這邊仍然興致缺缺,今天就來講講有關 vim 的語法提示吧!

syntastic —— 語法檢查器

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 就有 flake8pylintpyflakes 等好幾種選擇,因此 syntastic 也提供了更改的變數:

let g:syntastic_python_checkers = ['pylint']

如果希望有些提示訊息不要列出來,那麼 syntastic 也提供了宣告的方法:

let g:syntastic_html_tidy_quiet_messages={"level":"warnings"}

以上就是關於 syntastic 的介紹。

coc —— 語法提示管理員

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

supertab —— 使用 <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 中挖到更多寶藏~


上一篇
Day 14 用 vim script 客製化套件 (二)
下一篇
Day 16 用 vim script 客製化套件 (四)
系列文
用 vim 打造屬於自己的 IDE19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言