20240122 001

新米エンジニアはNeovimの夢を見るか

2024年01月21日

なんのかんのあり、Neovimをコードエディターとしてきちんと整備して使うようになった。


Neovim自体は1億年前に導入していて軽めのテキスト編集に便利に使っていた。動作は軽いし、ターミナルで動き、クロスプラットフォーム、エコシステムも充実している。
最近はVisual Studio Codeと仕組みを共有してコード補完などの便利な機能が使えるようになっていて(LSP)、本格的なコーディングに使えるようになっている、設定はVimscriptではなくLuaで書くのが主流になりつつある、という話は聞いていたが、腰が重かった。

ただVisual Studio CodeにVimのキーバインドをエミュレーションする拡張を入れてしばらく使っていると、やはりVimキーバインドの素晴らしさは身をもって感じる。キーボードだけでスイスイとカーソルの移動ができる。このキーバインドで使うなら、イマドキのNeovim環境を整備して、本物のNeovimを使うようにしてみよう、ということになった。

いきなり自分で設定を書こうとするな

しかし、一度目の導入の試みはうまくいかなかった。設定ファイルを全部自分で書こうとしたが、Neovimでの本格コードエディター体験というものは多数のプラグインを組み合わせて実現するものであり、エコシステムへの理解がある程度求められる。その頃のinit.luaは残しているが、苦労が伺える。

そんな折に海外のコード系YouTubeを眺めていて見かけたのがkickstart.nvimである。Neovimでの編集体験をいい感じにするための最低限のプラグインが導入済みになっているinit.luaで、これをフォークして好きにいじって自分好みの設定ファイルを作り上げよう、というもの。

スクリーンショット 2024-01-22 015152

早速フォークしてみたところ、これが快適で、Bladeテンプレートへの対応、OSにインストールしてあるSKK実装を使うためのC-jの貫通対策、フォーマッターの導入だけで十分に日常的な作業はこなせると感じられた。

少しずつVimmerの道へ

そんなこんなで最低限の設定をして、少しずつNeovimへの移行を進めていき、今やすっかりVisual Studio CodeはGitクライアント兼HTTPクライアントと化している(Thunder Clientという拡張が優秀)。プラグインを色々試し、設定にも気に入らない所が出てきたり、標準で導入されているプラグインを他のものに置き換えてみたくなったりしてきた。kickstart.nvimという補助輪を外す時が来たと感じた。

今はkickstart.nvimに書かれている設定を確認しながら写経を進めている。実はkickstart.nvimの記述量というものはそれほど多くなく、また設定ファイル自体改変を行って使うことが前提になっているため、多数のコメントが書き込まれている。先人の知恵に感謝しながら、自分のNeovimを作り上げようとしている。

スクリーンショット 2024-01-22 015606