Golang 開發環境 - 使用 neovim 0.5
Neovim 簡介 neovim 從 vim 專案 fork 之後,新增了 async 功能,所有工作不會再被單一線程給擋住 (在過去 linter 檢查時,是無法寫程式碼的),大大提升了可用性和使用者體驗,朝現代編輯器躍進了一大步。neovim 並沒有因此停下腳步,在之後的版本陸續推出了 remote plugin:使得寫 plugin 不在受限於 vimscript,可以使用其他語言並且基於 client server 架構和 neovim 溝通,這樣就能好好的利用各個語言生態系的工具,製作出更多有彈性的套件。ex: deoplete.nvim 和 defx.nvim 皆是 python 所撰寫的 remote plugin treesitter 的支援:過去 vim 的 syntax highlight 都是靠 regex,現在可以使用 treesitter ,效能更好,抓詞的時候更準確 支援 lua 寫套件:可以完全使用 lua 撰寫套件 ,脫離怪異的 vimscript,和 remote plugin 不同,remote plugin 是基於 client server 架構通訊 built-in LSP client (0.5):內建 LSP client,使用者可以透過 neovim LSP api 和 LSP server 互動...