さよなら、俺のVim。Neovim への旅立ち

はじめに

こんにちは、nwiizo です。私は今から10年前にVim を使い始めました。Vimはviから発展したテキストエディタです。コード補完、コンパイルまたエラージャンプなど、プログラミングに特化した機能が豊富で、広くプログラマに使用されています。私も思考のスピードでの編集をvim で実践してきた1人でした。

2022年の現在ではVim vs Emacsなど言われていた時代も遠い過去になり、VSCode1強になりつつあります。そういう、私も少ない設定で動作する強力で最高のJetBrainsやVSCode に浮気をした回数は数え切れません。IDEの生産性を身に染みて感じながらも、身についた操作感/キーバインド及びターミナルからの起動の速さが辞められず。しかし、vimrc を強力に設定しているわけでもなく愛の力のみで心の擬似IDEとしてのvimを使っておりました。

進まねばならぬこのままでは愛に沈む。愛に殉じたいが痛いおじさんになりたくない。意を決してVim からNeoVimへの移行を決めました。

俺のvimrc

過去にはこんなことを言ってた。やってること変わってない。

syu-m-5151.hatenablog.com

github.com

初期構想をやめました

Neovim + coc.nvim + (Neo)vim Plugin で初期構想を考え手を動かしてましたが、結果として断念しました。 理由として、今夜中に変更したかったこと。既存のプラグインに、そんなに力を入れていなかったこと。深夜テンションで入れ替えを行なった為に、下調べが足らずにプラグインの選定や大量に入れたプラグインの起動時間の短縮などがめっ… 難しかったからです。

起動時間を短縮しようとしてる様です

こちらのドキュメントは非常に参考になりました。ありがとうございます。 zenn.dev

選ばれたのは、

よい設定を求めてインターネットをさすらっているとvim-config なるリポジトリに出会いました。欲しかったプラグインがほとんど入っており、何より先ほどまで苦戦していた起動時間が短いという単語に惹かれてすぐに入れて動かしてみました。

github.com

vim-configがどのようなプラグインや設定を使ってどのように設定を実現させているかやいくつかのショートカットについてはリポジトリで確認お願いします。おそらく、それだけでかなり、勉強できるのでおすすめです。

使用感は最高でプラグインのショートカットをいくつか試したりコードを書いたりしました。また、各言語の設定については~/.config/nvim/config/local.plugins.yaml などに設定を入れておくと良いですが。私は、vim-goを入れました(がのちに削除)。:GoDef による定義位置ジャンプは vim-lsp が有効になっていれば gd で可能です(sbで前のbufferに戻れるのでそれで行き来できる。)。公式ドキュメントの設定に従ってImports を設定する。その内にlspの自動補完が上手くいってないことに気付いたので色々設定を見ていき~/.local/share/nvim/ などの共有設定に阻害される設定が入っていたので移動させた結果、無事にlsp 自動補完も動作しました。

さいごに

これが大好きだったvim との別れです。今日からはこれでコーディングしてみたいと思います。 大好きだったvimが強くなり、帰還した。そういう、感じがして今日はとても素敵な気分です。 朝会で共有したらVSCodeではないのかって笑いが起きました。ちゃんと前に進んでいるいい職場です。

私のnvim の設定をこちらに置いておきます。現在はこちらでいくつかのlspを入れて開発しております。

github.com