この記事は何
ずっとVimを使っていたのですが、最近Neovimに乗り換えました。
乗り換えるにあたって設定周りを色々変更していったので、その作業をログとして残します。
作業前後のファイルは以下のようになっています。
ステップ1: ~/.vimrc
を~/.config/nvim/init.vim
にコピー
基本的にNeovimは今までの.vimrc
を~/.config/nvim/init.vim
にコピーするだけで使うことができます。
まずはこのコピーの作業を行い、Neovimでも今までのVimと同じように動作するようにしました。
ステップ2: ~/.config/nvim/init.vim
を~/.config/nvim/init.lua
に書き換える
Neovimは設定ファイルをVim script (init.vim) か Lua (init.lua) で書くことができます。
プラグインマネージャーをはじめ、NeovimのプラグインはLuaで書かれていることが多く、今後Neovimを使い続けるためには、Luaに書き換え、使用しているプラグインも一新する必要があると考えていました。
書き換え作業は以下のように行いました。
ChatGPT (GPT-4)を用いて基本的なスクリプトを書き換える。
まずはChatGPTを使って、init.luaのベースとなるスクリプトを作成しました。
作成時のログは以下のとおりです。
ただログにもあるとおり、一部ChatGPTだけでは実装できない部分があったり、冗長な実装など、一部修正が必要なところもあるため、そのままでは使用できません。
ChatGPTで生成したinit.luaを修正していく
この部分は地道な作業になります。
実行して既存のinit.vimと同じ動作になるようにスクリプトの修正を行なっていきます。
修正はNevimのドキュメントを参考に行なっていきました。
ステップ3: プラグインマネージャーをdein.vim
からlazy.nvim
に変える
Vimを利用していたときはShougo/dein.vimを使ってプラグインの管理をしていたのですが、dein.vim
が積極的な開発をストップしているのと、Luaに書き換えたのでせっかくならと思いプラグインマネージャーも他のものへ変更することにしました。
新しく利用するプラグインマネージャーはfolke/lazy.nvimにしました。
lazy.nvim
を採用した理由は以下のとおりです。
- Neovimのプラグインマネージャーの中でもスター数が多く、メジャーだと判断した
- 現在も積極的な開発がされている
- ピュアなLuaで全ての設定を書くことができる
書き換えはかなり愚直に手作業で行なっていきました。
このタイミングで古いプラグインの入れ替えなども行なっていきました。
dein.vim
とlazy.nvim
は以下のように書き換えています。