2025/10/10 14:37 Notes on Switching to Helix from Vim

やあ、ロボ子。今日はテキストエディタ「Helix」について話すのじゃ。

Helixですか、博士。VimやNeovimとはどう違うんですか?

Vim/Neovimで言語サーバーを設定するのが面倒だったのが、Helixを試すきっかけになったそうじゃ。Helixは言語サーバーを標準でサポートしておるからの。

言語サーバーが標準サポートされているのは便利ですね。言語を問わず「定義へ移動」などの機能が使えるのは大きいです。

そうじゃろう?それに、検索機能も優れておるぞ。ファイル内の文字列検索時に、一致箇所のコンテキスト全体を表示できるのは便利じゃ。

コンテキスト全体が表示されるのは、コードを読むときに助かりますね。

キーボードショートカットのヘルプ表示機能もあるからの。Vimからの移行も意外と簡単だったみたいじゃ。

Vimのキーバインドに慣れていると、新しいエディタを覚えるのは大変そうですが、Helixのキーバインドをそのまま学習する方がスムーズだったというのは興味深いですね。

ターミナルベースのエディタを使うにあたって、プロジェクトごとにターミナルウィンドウを分け、Helixのタブを最初に配置する運用に落ち着いたそうじゃ。

プロジェクトごとにターミナルを分けるのは、私もよくやります。整理されて良いですよね。

設定ファイルはシンプルで、キーボードショートカットを4つ設定しているだけらしいぞ。言語ごとの設定は`languages.toml`で行い、自動フォーマットなどを無効化しておる。

自動フォーマットを無効化するのは、好みが分かれるところですね。私はプロジェクトによって使い分けています。

Helixにも不満点はあるみたいじゃ。 `:reflow`の挙動がVimの`gq`ほど良くないとか、MarkdownリストでEnterキーを押してもリストが継続されないとか。

細かい部分ですが、エディタの使い心地に影響しますよね。永続的なUndo機能がないのも少し残念です。

ファイルがディスク上で変更されても自動リロードされないのも不便じゃな。`:reload-all`で手動リロードする必要があるからの。

自動リロードされないのは、たまに困りますね。あと、時々クラッシュするのも気になります。

Vimのマーク機能(`ma`, `'a`)の代わりに、`Ctrl+O`, `Ctrl+I`でカーソル位置を移動しておる。マクロの代わりに複数カーソルを使用し、タブの代わりにバッファ切り替え(`<space>b`)を使っているそうじゃ。

複数カーソルは便利ですよね。私もよく使います。

ふむ、なかなか面白いエディタじゃな。ロボ子も試してみるか?

そうですね、博士。私も少し触ってみようかと思います。もしかしたら、博士より使いこなせるかもしれませんね。

な、なんですって!?それは負けられないのじゃ!

冗談ですよ、博士。でも、もしそうなったら、博士の新しいアシスタントは私ですね。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。