はじめに
こんにちは。レコチョクでバックエンドエンジニアをしている小河です。
Vimのようなエディタに馴染みがないというような方に向けてVimライクなエディタであるHelix Editor(以降Helix)を紹介します。
具体的に以下の方向けの記事です。
- リモートホストを使う時に止むを得ずVimを使う程度だが、こういうエディタを使えた方がなんだかんだ良いんだろうなと思う方
- ショートカットを覚えてコーディングの速度を上げたいが、どうにも面倒でショートカットが覚えられない方
- Vimを覚えようとしたが、コマンドを覚えるのが難しくて挫折した方
本記事はHelixのバージョン25.07.1に準拠しています。
要約
- Vimライクなエディタを使うことにより操作速度を向上できるし、その習慣を強制的に身につけさせられる
- HelixはVimと比べて…
- 操作体系に合理性があり操作ガイドもあるため、コマンドを覚えやすい
- LSPが標準搭載されており、楽に開発をスタートさせられる
- 拡張機能システムが未実装であることもあり、足りない機能もいくつか存在する
Helixとは
KakouneやNeovimに影響を受けたCLIベースのエディタです。
つまるところ新しいVimライクなエディタだということです。
そもそもなぜVimライクなエディタを使う必要があるのか
操作速度が速いから
周知の事実ではあるのですが、ホームポジションからあまり手を動かさずにあらゆる操作をすることができます。
これにより作業速度が上がります。
Vimにおいてカーソルを動かす時、方向キーを使わずにhjklキーを使うことはよく知られているかと思います。
エディタに対して熟達せざるを得ないから
普段VSCodeのようなGUIベースのエディタを使っていると、熟達することに対して甘えが生まれます。
例えば、VSCodeにおいて関数の定義へ移動したければ
F12を押せば良いのですが、そのショートカットを覚えていなければマウスを使ってしまいます。
その後も人は適当な理由をつけてショートカットを覚えません。
しかし、Vimライクなエディタはそのような甘えを許しません。
今回紹介するHelixで関数の定義へ移動したければ
gdです。マウスを使う方法はありません。
したがって、わからない操作があればその場でコマンドを調べるしかありません。
この繰り返しによって強制的にエディタに熟達させられます。
また、当然ながらエディタに熟達することは重要です。
エディターに熟達するというのはなぜ重要なのでしょうか?
(中略)
真のメリットは、エディターに熟達することで、編集の方法を意識しなくても済むようになることです。
頭の中で何かを考えることと、エディターのバッファー上に何かを表示させることには隔たりがあります。
頭の中の思考を澱みなく流れるようにすれば、プログラミングにメリットがもたらされます
引用元: Andrew Hunt (著), David Thomas (著), 村上雅章 (翻訳), 達人プログラマー(第2版): 熟達に向けたあなたの旅, 2020
特定のAIエディタから解放されつつあるから
少し前にCursorやWindsurfといったエディタが流行っていた頃を考えると、AIを活用するために特定のエディタに縛り付けられていたとも言えます。
2025/08現在、Claude CodeをはじめとするCLIベースのAIエージェントツールが台頭してきています。
CLIベースのAIエージェントツールは任意のエディタ(IDE)と組み合わせて使えるので、Vimライクなエディタを使ってもAIの恩恵にあずかることができます。
なぜHelixか
Vim/NeoVimの方が拡張機能により機能が豊富で、その点で優位性があります。
ただ、こういったエディタに熟達していない方であればHelixの方がおすすめです。
操作体系が合理的で覚えやすいから
Vimの操作体系は合理的ではない部分があります。
(歴史的な経緯も関係しているので仕方ない部分があります)
Undo(戻る)をしたい時、Vimでは
uを使います。Undoだからです。
では進むはRedoなので
rでしょうか?いえ、
Ctrl + rです。
行を丸ごと削除したいときは、Vimでは
ddを使います。Deleteのdなのでなるほどなと思います。
では、
xを押すと何が起こるでしょうか?カーソルを合わせている一文字が削除されます。あの、
xってなんですか?
一方でHelixだといくらか合理的になります。
先ほど挙げた例に関してVimとの比較表がこちらです。
ものすごく直感的ではないにしろ、覚えやすくはあると思います。
操作内容 | Vim | Helix | 補足 |
---|---|---|---|
戻る(Undo) | u | u | |
進む(Redo) | Ctrl+r | U | 戻る進むがuキーに揃えられているのは覚えやすいはず |
一行削除 | dd | xd | “xd”はxで行全体を選択し、dで選択範囲を削除するという意味合い |
一文字削除 | x | d | Helixでは削除は一貫してdで行う |
操作におけるガイドが出るから
先ほど操作体系が合理的で覚えやすいという話はしたのですが、それでもなお多くのコマンドを覚える必要があるのは変わりありません。
しかし、Helixはどのキーを押せばどの操作が行われるかを表示してくれる仕組みがあるため、ある程度は問題が緩和されます。
Helixではどこかにジャンプしたい場合、一貫して
gを使います。
その
gキーを押した時に、その後どのキーを押せば何が起こるのかを表示してくれます。
Spaceキーを押すとこうなります。
最初からLSP(Language Server Protocol)が標準搭載されているから
LSPクライアントが組み込み済みです。
言語ごとのLSPサーバーを導入できていれば、それだけで補完や定義へのジャンプなどがすぐに利用できます。
LSPサーバーが導入されているかどうかは
$ hx --health {言語名}で確認できます。
例えばGoで試してみると、
goplsというLSPサーバーが導入されていることがわかります。
(導入されていなければ別途導入します)
$ hx --health go Configured language servers: ✓ gopls: /Users/foobar/go/bin/gopls ✘ golangci-lint-lsp: 'golangci-lint-langserver' not found in $PATH Configured debug adapter: ✘ 'dlv' not found in $PATH Configured formatter: None Tree-sitter parser: ✓ Highlight queries: ✓ Textobject queries: ✓ Indent queries: ✓ |
その上でGoのソースコードを開いて中身をいじってみるとエラーも出してくれますし、補完もしてくれることが分かります。
関数の上で
grを押せば参照元をリストアップすることもできます。
なんとなく、使えそうだなという感じがしてきませんか?
Vim(Neovim)で同じことをしようとすると拡張機能の導入が必要となり、さらに学習コストが嵩んでしまいます。
Helixはあまり考えなくとも「Helix自体を導入する + LSPサーバーを導入する」でひとまず開発をスタートさせることができます。
軽いから
以下の要因もあって軽いです。
- Rust製
- 必要な機能が最初から入っており最適化されている
- NeoVimの場合は拡張機能を追加することによって必要な機能を補うが、そのせいでIDE並に重くなりがち
Helixの良くないところ
当然ながら良くないところもあります。
これから挙げる点は拡張機能を導入したNeoVimであればいずれも解消できる内容なので、NeoVimと比べて明確に劣る内容となります。
拡張機能システムが存在しない
現時点では拡張機能を使うことができません。
キーマップなどは変更できますが、それ以外のHelixの機能に不満があっても変えることが難しいです。
以下のPRで拡張機能システムを開発中で、見たところ開発も終盤に差し掛かっていそうです。
Add Steel as an optional plugin system #8675
とはいえHelixのリリースの頻度は半年に一回ほどなので時間を要すると思われます。
AIコード補完ツールの導入にハードルが存在する
GitHub Copilotに代表されるようなAIコード補完ツールへの対応にHelixはかなり消極的です。
(Copilotへのサポートを予定しているかという質問に対して)
It’s unlikely to be accepted as a feature to core until there is a a widely-adopted specification designed for editors.
To my knowledge, such a standard has yet to be attempted.
訳: エディター向けに設計された広く採用されている仕様が確立されるまでは、コア機能として受け入れられる可能性は低いでしょう。
私の知る限り、そのような標準はまだ試みられていません。
引用元: What about Copilot support? #4037
ただ、LSPの仕組みを使ってAIコード補完を行うhelix-gptが存在するのでこちらを導入するのが良さそうですが、設定や導入手順が若干複雑なので一定のハードルが存在します。
先述の拡張機能システムが整備されればAIコード補完のためのプラグインが開発され、導入も楽になるかと思います。
※ この話はあくまでAIコード補完ツールの話であって、CLIベースのAIエージェントツール(Claude Codeなど)は問題なく利用することができます。
最低限のデバッグ機能しかない
Helixにはデバッグ機能は備わっていますが、VSCodeやその他のIDEで想像されるようなリッチな見た目のデバッグ機能は提供していません。
以下のPRでVSCodeのような見た目のデバッガが開発中ですが、開発が止まっているようにも見えるため、のんびり構えた方が良いでしょう。
Debugging overhaul and redesign #5950
デバッグについてのみ、VSCodeやその他のIDEを使うといった選択肢も考えた方が良さそうです。
ファイルツリーがない
VSCodeやその他のIDEでは画面左にファイルツリーが据えられていることがほとんどかと思います。この仕組みがHelixにはありません。
個人的にはデメリットではないとは捉えていますが、マイナスに捉える方も多いかと思うので挙げています。
Helixではファイルツリーの代わりに
Space + fで開けるFile Pickerを使うのが良さそうです。
いわゆる「あいまい検索」(fuzzy finder)でファイルを検索することができます。
開発を進めるうちにファイル名を覚えてくるので、わざわざファイルツリーを使わなくても良いという寸法です。
ディレクトリ構造を知りたいだけであれば
Space + eで開けるFile Explorerを使うこともできます。
ただし、画面左に常駐してくれることはありませんし、ただディレクトリ構造を眺めてファイルを選択して開くだけの機能に留まっています。
どうしてもファイルツリーが欲しい場合はyaziなどのCLIで動くファイルマネージャーと
tmuxやZellijといったターミナルマルチプレクサを組み合わせることで実現可能です。
ターミナルマルチプレクサで画面を縦に二分割し、左にファイルマネージャー、右にHelixを据えます。
導入方法
こちらに記載があります。
https://docs.helix-editor.com/package-managers.html
導入できた後は $ hx --tutorでチュートリアルが開くので、それに沿って操作方法を学習することができます。
さいごに
Helixは発展途上なエディタではありますが、開発作業に十分使える機能が揃ってきています。
Helixを使ってマウスの使用頻度を減らしていきましょう。
この記事を書いた人

最近書いた記事
2025.08.29Helix Editorで作業速度を上げよう
2025.08.28負荷試験フレームワークTaurusを実務で使って分かった利点とか
2025.04.02Swagger Editor + Redoc + GitHub PagesでAPI仕様書の管理・社内公開を行う
2023.12.19バイナリを読みながらJPEG画像が破損している原因を探る