HexWolf Blog

VSCodeからZedへ と思ったらneovimまで飛んだ話

はじめに

私がプログラミングを始めたのは中学の時でサクラエディタを使ってました。
まあ案の定メンターもおらず学校の図書館にもプログラミング書籍はなく、そこから長い停滞期になります。

つづけて自分の中でPythonを触る比重が増えてきた頃にはVSCodeがでていたのでそこから少しずつVSCodeを使うようになりました。

今回通信スクールに通ってからはずっとVSCodeを使っていたので基本的なことは分かるようになりました。しかしながら問題が発生します。

なんかすごくごちゃごちゃして分かりづらいなと

多機能なのは分かるし色んな開発者が使っているためそのUI画面になったのは分かりますがどこにどの機能があり、かつワークフローをどう扱えばいい感じになるのかを全然掴めずにいました。

特にdevcontainerあたりを扱おうと思ったときにだいぶくたびれました。Try&Errorを繰り返しても得られたのはdocker compose exec ...を打たなくて済むようになったことだけでした。

そこで一旦抜本的に開発環境を組み直そうと決めました。話の主題はここになります。

本題

VSCodeの良い点不満な点

実際のところ良い点はさすがにサクラエディタとかと違って統合環境のため非常に機能が充実していたのが良かったですね。エディタ画面もツリーもサイドビューもターミナルも複数作れるし、ない機能は拡張機能等で対応できるあたりも色んな開発者のニーズを捉えています。

一方である程度の拡張は拡張機能として機能を吸収しており入れれば入れるほど当たり前ですが重くなっていきます。私の環境はただでさえWSL環境であるためWSLの接続から始まるので初回がかなり重いという難点を抱えます。

現時点でもたまにVSCodeに戻ってますが、後述するneovimに慣れてない段階だと良いツールだなと改めて思います

Zedの良い点不満な点

対してZedはRust製ということもあってかなりハイスピードに処理をしてくれます。またvimモードにも標準対応してくれているためvimmerにも良いというのが高ポイントです。私はまだvimmerではないですが。

こちらはLSPが自動的にそのファイルを見た時に対応してくれたりするため余計な操作はいらずに設定できるのが良い点ですね。またエディタ全体を見てもVSCodeほどゴチャ付いておらず目移りしないのがいいです。VSCodeに戻った時に比べると目移りしてきます。

一方残念な点は確かにVSCodeと同じでAI拡張パネルはあるものの、デフォルトで現在どのファイルを開いているのか参照してくれない点です(これはnvimでも同じ)。もちろんショートカットやすぐに反映もできるのですがZedに入信しようとした当初はその事実が分からず、これを機にVSCodeに一旦戻りました。

vimとの出会いからNeovim導入

実は以前からvim自体には興味を持っていたものの、ゲーマー故に移動はWASDしか考えられませんでした。しかしふと思い返すとHJKLの並びってちょうど音ゲーの矢印と同じじゃんってことで某音ゲーをこれでプレイしていたら矯正できました。

そこでせっかくなのでvimtutorをやってvimに対応したIDEみたいなのを探したらちょうどneovimに行き着きました。

まだ使い始めて2日くらいですが思ったよりしっくり来ます。色々カスタマイズできるし。

ただまだターミナルでの開発が苦手なので追々慣れていきたいと思います。

難点としてはneovimはまだ良いのですがvimとwindowsのクリップボードがバグりやすいという点ですね。上手くコピペできない、コピペしても改行が必ずつく、インデントがずれるとかですか。今後はWSLは卒業してLinuxが主のOSになりそうなので良いのですが、パソコンが壊れない限りはWindowsなのでこのあたりはしばらく我慢ですかね。まあ普段はnvimでファイル開けばいいだけなのでなんともですけれども

あとはtmuxのターミナル配置と画面配置をどうするかですね。現状1つの画面だけで作っていますが画面は24インチなのであまりエディタ画面は狭くしたくないというのもあります。目も悪いですしね…トリプルモニターですけれどもあまり横を見ると首も痛くなりますし…なかなかハードの環境構築も大変です

まとめ

まあ大規模なPCゲームはやらなくなってきた(AAA系)のでモニターを複数分けるのは辞めて1つの大きなモニターでも良いような気はします。フルスクリーンじゃなくてボーダーレスでやっても良いわけですしね。

いまだPC周りは高いのでまだまだ後の話になりますが良い方向を検討していきたいです。