ETRNITY BLOGへ ようこそ WELCOME ETERNITY BLOG

カテゴリを問わず、色々投稿していくブログ。

2026/03/01

neovimの魅力

プログラマが一番使用するソフトはなんだろう。一番はブラウザ。では、2番は? 言わずもがな、テキストエディタである。

最強のエディタは何か、という問いには長い論争を起こしていた。そのトップにあるのはvimとvscode、そしてvimの完全下位互換のemacsだ。

なぜ、直感的に書け、勉強不要な(意外と覚えることは多いが)vscodeを使わずに、ターミナルベースであるneovimを選ぶのか。本記事ではneovimの魅力について語っていきたい。

ちなみに勿論向いてない人もいる。GPTコーダーや、慣れるのがめんどくさい人など、これは後述する。

ちなみに自分のnvimの画面はこんなかんじ。

nvimmitame 横にgitやソースコードの構造などをだしている。

neovimの特徴

操作性の難しさ

まず第一の特徴は操作性の難しさであろう。誰にでも使いやすく、機能が揃っているIDEとは異なり、1から自分でコードを書き、理想的なエディタにしていかなければならない。初期設定ではシンタックスハイライトも、補完機能さえもない。luaを使い、エディタを使うためにコードを書かなければならない。 また、マウスが使えない。ではどうやって上に移動するのか?キーボードのjとkを使うのだ

今の話を聞くと、neovimの良さが分からないだろう。ただ、慣れたら世界が変わる。本記事の題名の通り、思考の速さでコーディングができる。

print("1")

このコードのダブルクオーテーションで囲まれた1という数字を編集するにはどうすればいいだろう。
vscodeではキーボードからマウスを持ち、一つずつ消していくだろう。
では、neovimの場合はどうか
ciw これだけ。1にカーソルを合わせ、ciwと入力するだけで外せてしまう。
勿論これはほんの一例に過ぎない。このコマンドのことをテキストオブジェクトという。
確かに覚える必要があり、めんどくさいと思うかもしれない。だが、このテキストオブジェクトは非常に面白く、一つの言語のように扱える。
例えばvimの終了は :q 保存は :w
では :wq は?
察しの通り、保存して終了である。このように一つの文字でできるコマンドを組み合わせて一つのコマンドを使う。そう考えると覚えることはそう多くないことが分かるはずだ。ちなみにciwも3つの物を組み合わしている。

本記事の題名の通り、思考の速度でコーディングとはこのことを言っている。私はvimは全エディタの中で一番コーディング速度をあげられるものだと思う。

無限のカスタマイズ

さて、2つめの特徴は無限にカスタマイズ出来ることだ。vscodeはどのくらい拡張機能を入れているだろう。僕は15個ほどだ。それでも見た目はあまり変わらず、ちょっとした機能の追加。vscodeでの多くのプラグインは補助であり、プラグインを入れなくても十分なコーディングができる。 では、neovimの場合はどうか。neovimの初期設定はWindows標準のメモ帳未満の機能しかない。快適なコーディングをするため、理想的な環境を作るために高頻度にプラグインの設定を変える。
気になったプラグインがあれば、使ってみたり。自作してみたり。これをするのがたまらなく楽しい。
私は拡張機能やプラグインをいじるのが大好きなのでnvimに本当に惹かれた。

例えば私は今28個のプラグインを入れている。実はこれは多いわけではなく、たくさんプラグインを入れている人は200個など平気で超えている人もいる。ただ、私はそこまでキーバインドが覚えられないし、使う必要もないと思うので入れていない。

ちなみにカスタマイズできるのはそれだけではない。キーバインドを作りたい時、ほぼすべての機能のキーバインドをluaで簡単に作ることができる。そのため、他の人のdotfileを見ると、色々なキーバインドが設定されていて面白い。そして自分で柔軟に設定できるため、素早いコーディングを実現できる。これも思考の速度でコーディングと言われている理由の一つだ。

かっこいい

neovimを今どき始める人は99%は「かっこいいから」という理由だろう。かくいう私も、neovimはかっこいいから始めた。
皆さんはプログラマと聞いてどんなイメージを持つだろう。カチカチとキーボードを叩く姿をイメージする人が多いだろう。
だが実際は? ブラウザの使用時間、コードを見る時間のほうが圧倒的に長い。
だがvimを使うとどうだろう。カチカチしてるのだ。海外の動画で「nvim coding」と調べてほしい。とても惹かれ、自分も使いたいと思うはずだ。
かっこいいだけじゃなく、vscodeよりもはるかに高速にコードを書ける。まさに一石二鳥

向いてない人・欠点

さて、魅力を話したところで欠点も紹介していく。

慣れるのがめんどくさい人

Neovimは多分、エディタの中でトップクラスに難しいソフトだろう。プラグインを入れるのにはluaというプログラミング言語を使い、入れなければならない。なのにプラグインを入れないと何もできない。そして慣れるのに時間がかかるキーバインド。僕はあまり感じなかったが、カーソルを動かすだけで慣れが必要な人もいるらしい。
ここまでしてvscodeではないエディタを使いたいか。これは人それぞれだと思う。
私はソフトの設定画面や、拡張機能をいじるのが大好きなので向いていた。

GPTコーダー

GPTコーダーにも向いていないと思う。これは少し言い過ぎた。GPTに80%以上コードを任せている人には向いていないと思う。理由は単純に、コードを選択し、削除し、その部分に貼り付けるという行為は、vscodeのほうが早いからだ。
もちろんAIが使える拡張機能もあるのだが、vscodeにもcopilotはついているし、neovimのレトロな感じがすきなのにそんな近代的なもの、、、私のポリシーに反する。

最後に

Vimはいいぞ。コードを書いているだけで楽しい。ちなみにこの記事もneovimで書いている。
慣れるのは難しいし、挫折する人もいる。だが難しい「プログラミング」をできる人なら必ず乗り越えられる。
気になった人は是非使用してみてほしい。

コメント

コメントを書く