Neovim-超世代的編輯器

# 前言

因為在docker上裝vim發生了一些問題
所以藉這個機會來更新一下開發環境
感謝[inndy的dotfile](https://github.com/Inndy/dotfiles)
這次在重構開發環境參考了不少他的設定

這篇主要會介紹我使用的套件
還有neovim使用兩個禮拜後的感覺

# 介紹

neovim是一個重構vim的project
擁有更好的程式架構-易於維護
在plugin上有更多的可擴充性
安裝方式比vim稍嫌麻煩了點

如果想要參考我的安裝方式可以看[我的Dockerfile](https://github.com/DuckLL/ctf-box/blob/master/small/Dockerfile)


# 套件

[我的.vimrc](https://github.com/DuckLL/dotfile/blob/master/.vimrc)

## dein

新套件管理工具!
擁有更好的效能與管理
可以為不同套件做各別設定
_lazy load_ !可以根據條件載入套件
這讓啟動時間大大的漸少
不用擔心安裝過多的套件
套件只會在你需要的時候啟動

## vim-gitgutter

一個神奇的套件
可以在編輯的當下顯示git diff的結果
也就是改動的差異
真的是非常的好!

## vim-airline

不錯的顯示介面
而且在執行shell時畫面不會切換
預設的配色我就很滿意了

## molokai

之前都用Tomorrow-Neight來配色
看到inndy用molokai就用看看
沒想到一試成主顧
鮮豔的配色 就算亮度不高也可以看得清楚

## tagbar

在編寫大型專案時
可以快速在function切換
但現在有easymotion後
都是拿來看架構而已

## ctrlp

可以快速地開啟各式檔案
模糊搜尋真是一流

## vim-snippets

一個可以自動擴展程式碼的套件
只要輸入關鍵字後按tab
就可以快速生出腳本程式碼

原本也想換一套工具
但已經習慣預設生成碼
希望有人可以推薦其他款

## deoplete

也是自動補齊的好工具
檔案、關鍵字都可以找到
還跟很多套件結合
非常的實用

## syntastic

靜態檢查工具
檢查語法上的錯誤
可以在執行前先掃描
這樣才不會CE浪費時間


## supertab

supertab將自動補齊選字改用tab去選取
大大減少 一堆負責且不順手的按法
但唯一的缺點是會跟snippets相撞
所以我將tab改成shift-tab 還是比較直覺!

## vim-easymotion

真的是移動鼠標的一大利器
雖然不能往上移動
但可以根據每個字頭來快速移動
真的是非常的方便
減少我按w的次數

#  心得

neovim跟vim有87%像 整體來說非常棒
除了安裝有點麻煩之外
再者換了dein之後有lazy load
啟動的速度有明顯的提升
使用兩週沒有遇到crash
除了畫面左邊的fold偶而會閃爍
整體來說體驗還是非常好

針對neovim開發的plugin有更好的效能與功能性
期待看到更多新API開發出來的plugin

留言