Neovimに引き寄せられて

コードエディタを乗り換える日

Visual Studio Codeにさよなら

長年、Visual Studio Code(以後、VS Codeと表記)を使用してきたが、その環境に別れを告げる日が来てしまった。

最大の理由は、メイン環境を完全にWinsows Subsystem for Linuxのこと。Linuxの仮想環境を提供するソフトウェア。Microfost公式なのでサポートが手厚い。 [annotation: Winsows Subsystem for Linuxのこと。Linuxの仮想環境を提供するソフトウェア。Microfost公式なのでサポートが手厚い。] へと移行したことだろう。

VS CodeはMicrosoft謹製のコードエディタであり、当然WSLへの接続にも対応している。

――――対応してはいるのだが、VS Code本体を更新するたびにWSL関係のコンポーネントを毎回ログを確認しているわけではないので完全に憶測。少なくとも、WSL接続の起動処理はやや遅い。 [annotation: 毎回ログを確認しているわけではないので完全に憶測。少なくとも、WSL接続の起動処理はやや遅い。] が挟まる。これが案外長くて、潜在的なストレスを生んでいた。

結局これを期にVS Codeという統合開発環境のこと。プログラミングに必要な操作を1ソフトウェアですべて補えるという思想の元、開発されたもの。 [annotation: 統合開発環境のこと。プログラミングに必要な操作を1ソフトウェアですべて補えるという思想の元、開発されたもの。] から離れて、ターミナルで完結した環境を目指そうと思った次第である。

カスタマイズ性という根源欲求へのアンサー

Neovimを選択したのは、その構成の自由度にある。

本来そのソフトウェアに内包されていない動作を外部から補えるようにする仕組みのこと。基本的にはユーザ(オープンソースプロジェクトであることが多い)が独自に記述したプラグインと、それを管理するツールから成り立つ。 [annotation: 本来そのソフトウェアに内包されていない動作を外部から補えるようにする仕組みのこと。基本的にはユーザ(オープンソースプロジェクトであることが多い)が独自に記述したプラグインと、それを管理するツールから成り立つ。] を内包したエディタなどはもはや前提条件であるが、Neovimのそれは他の追従を許さないほどだ。

例にVS Codeのプラグインシステムは、UIへの干渉を完全にシャットアウトしている。既定のファイルエクスプローラーが使いずらいとしてもそれを受け入れざるを得ないわけである。

Neovimはありとあらゆる改変を受け入れる。プラグインのエコシステムそのものさえもそもそもプラグインシステムが後付けである。 [annotation: そもそもプラグインシステムが後付けである。] だ。

しかしながら、慣れが必要であり触ってすぐに使いこなせるようなものでもないというのも事実。これは誰にでも勧められるようなものではないだろう。

その点、VS Codeはすぐれていたように感じる。習得というステップがごっそり抜け落ちているようなエディタであった。

プラグインの探求

最後に、特に便利だと感じるNeovimプラグインを星の数より多いNeovimプラグイン列挙サイトに対抗する意思はない。 [annotation: 星の数より多いNeovimプラグイン列挙サイトに対抗する意思はない。] 共有する。

oil.nvim

oil.nvimは非常に特殊なファイルエクスプローラーだ。

ファイルシステムそのものを1つのファイルとして編集することができるという、言葉だけでは便利なのかどうかよくわからない機能を持っている。

これが持つ最大の利点は、テキスト編集の操作をそのまま拝借できる点にあるだろう。

ディレクトリ構造をそのまま編集することができる。テキストをコピーするだけでファイルやディレクトリの内容もコピーされるのだ。
ディレクトリ構造をそのまま編集することができる。テキストをコピーするだけでファイルやディレクトリの内容もコピーされるのだ。

コピー・ペーストのような操作、ファイル検索などはもちろん、ファイル名の一括リネームにも苦労することはない。

このプラグインをしばらく利用したのち、自分がエクスプローラーを採用するための基準は一段階引き上がってしまったのだった。