概要
- Mac OS X 10.13.6にNeovimをインストールして、pythonを書くために多少のカスタマイズを行った。
動機
- 基本的に普段の開発はVSCodeで行っていて、機能的に十分満足している。
- dockerコンテナ上やリモートマシン上で開発する時に、console上で直接エディタが使えるようになっておくと便利かなと思ってNeovimの使い方を覚えることにした。
インストール
公式( https://neovim.io/ )に書いてある通り、brewでインストールする。
yumやapt-getによるインストールも可能なようだし、インストールは手軽そうだ。
$ brew install neovim
あっさりインストール出来た。
起動
$ nvim
v0.3.4というバージョンがインストールされた。
カスタマイズ
- vimやneovimには詳しく無いが、おそらく素のままのneovimはVSCodeなどのIDEと比べてそれほど機能は多くないのだろう。
- そこで様々なカスタマイズを行って機能を追加して使うというのが前提になっているのがvimやneovimの使い方のスタイルなんだろうと思う。
というわけで色々カスタマイズしていく。
何もカスタマイズしない場合の状態
そもそもどんなカスタマイズをしたいかイメージを膨らませるために一旦、素でサンプルコードを書いてみた。
内容はこんな感じ。
import pandas
def read_iris():
url = 'https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv'
return pandas.read_csv(url)
iris = read_iris()
print(iris)
欲しくなった機能
- nvimからbashに切り替えずにこのコードを実行したい。
- lintによるサポートが欲しい。
まず、これらのカスタマイズをやってみる。
こちらの記事がかなり参考になる。
https://qiita.com/lighttiger2505/items/e0ada17634516c081ee7
dein.vim
プラグインマネージャー: neovimを拡張する様々なpuluginを管理してくれる。
ドキュメント通りにインストールしたら動いた。大まかな手順としては以下のようになる。
-
installer.sh
をDownloadして実行 -
~/.config/nvim/init.vim
というファイルを作り、設定を追加。
ALE
linter.
先程のinit.vim
の中にALEをaddする。
call dein#add('w0rp/ale')
最低で以下の設定を追加したらlint出来た。
" ALE
let g:ale_linters = {
\ 'python': ['flake8'],
\}
とりあえずlintしてくれた。
vim-quickrun
- プログラムランナー
- https://github.com/thinca/vim-quickrun
\ + r
で実行できる。
私の場合、横に長い出力をするコードを書くことが多いので、この結果が出力されるエリアは上下分割の方が嬉しい。
こんな設定を加えたら出来た。
" quickrun
let g:quickrun_config = {
\ '_' : {
\ 'outputter/buffer/split': '10'
\ }
\}