世界を動かす技術を、日本語で。

VS CodeからHelixへ

2025年10月29日原文(ergaster.org)

概要

  • VS Code から Helix への移行理由と背景
  • Helix の特徴や設定方法の解説
  • MarkdownやAstroなど 実用的な活用例 の紹介
  • Language Serverlinter の導入手順
  • エディタ選択における 思想と実践的な工夫

VS CodeからHelixへ:移行のきっかけと背景

  • VS Code は業界標準のエディタであり、 無料・使いやすさ・拡張性 が魅力
  • しかし Microsoft 製であり、依存リスクやプライバシー懸念が存在
  • オープンソース で国際的な開発体制のツールを志向
  • Helix は同僚の勧めで知ったが、最初は学習コストや再設定への不安から敬遠
  • 実際に使ってみると 直感的な操作性設定のシンプルさ に魅力を感じ、メインエディタに移行

Helixの特徴と操作感

  • vimneovim と異なり、Helixは デフォルトで多機能 かつ 統一感のある操作性
  • 設定やテーマは少数で、 どの環境でもほぼ同じ挙動 を実現
  • Language Server Protocol 対応で、言語ごとの補完や警告を自動化
  • テキスト選択後に操作を行う 視覚的な編集モデル が特徴
  • Vimからの移行も チュートリアルや直感的UI でスムーズ

Helix導入の障壁とその克服

  • vim はカスタマイズ性が高すぎて選択肢が多く、 選択麻痺 に陥りやすい
  • Helixは 「すぐ使える」 思想で、初期設定がほぼ不要
  • 最初の一歩は brew install helix で簡単インストール
  • 公式チュートリアルが 実践的かつ短時間で習得可能
  • Vimのキーバインド慣れもほとんど影響せず、 Helix独自の操作性 にすぐ順応

ドキュメントと学習リソース

  • 公式ドキュメント は充実しているが、初心者にはやや難解
  • サードパーティのドキュメント が実用的かつ読みやすい
  • Astro Starlightなどを活用した わかりやすい情報設計

MarkdownとAstroの活用・設定例

  • 主な用途は Markdownでのノート作成Astroでのサイト編集Kubernetes用yaml操作
  • Helixは Language Server を通じてファイル内容を理解し、 補完・警告・ナビゲーション を実現
  • コードフォーマッタも導入可能で、 統一感あるスタイル維持

Markdown環境の最適化

  • marksman (Language Server)をbrewでインストールし、Helixと連携
  • Harper (Automattic製の英語用文法チェッカー)も導入可能
  • 設定ファイル(~/.config/helix/languages.toml)で複数Language Serverを指定
  • rumdl (高速Markdown linter)もbrewで簡単導入
  • 既存の.markdownlint.yamlを rumdl形式に変換 可能
  • 80文字のソフトラップ 設定で可読性向上
  • Helixはエディタの中央揃え非対応だが、 左ガターにスペース追加 で擬似的に中央寄せ
    • 端末サイズに合わせて 計算式でスペース数調整
    • config.tomlにキーバインドを追加して ワンタッチ切替 可能

Astroの設定

  • VS Code 同様、Astro公式Language ServerやTypeScriptプラグインを活用
  • Helixでも 補完・シンタックスハイライト が有効

エディタ選択における思想と今後

  • 自動化・利便性 の裏にある 依存リスク への警戒
  • 国や企業単位でなく、 国際的なオープンソース開発 を重視
  • 使い勝手・学習コスト・思想的バランス を考慮したエディタ選び
  • Helixのようなツールが 新たな選択肢 となる可能性

このように、VS CodeからHelixへの移行は 思想的背景実用的な工夫 が両立した選択となった。エディタ選びは単なる好みではなく、 生産性・透明性・自由度 を左右する重要な判断基準である。

Hackerたちの意見

Helixとか新しいエディタ(kakouneも思い浮かぶけど)は、vimよりも直感的な編集方法があるように感じて、ずっと魅力的だったんだ。でも、vimがどこにでもあるから、切り替えるのは無理かな。ほとんどのシステムにはデフォルトでvim(またはvi)がインストールされてるし、ほとんどのIDEやエディタはvimのキーバインドをネイティブでサポートしてるか、ちゃんとしたプラグインがあるからね。同じような問題がキーボードレイアウトにもあって、dvorakやcolemakでちょっと速くなるかもしれないけど、どこに行ってもqwertyが使える便利さには勝てないよ。

これがHelixを真剣に試すのを妨げてるんだ。viっぽいキーバインドを覚えたくないし、筋肉記憶を混乱させたくないんだよね。

これは典型的な切り替えコストの問題だね。切り替える価値があるためには、努力がある閾値以下であるか、結果がかなり良くないと人は切り替えない。つまり、キラーフィーチャーが必要なんだ。

「dvorakやcolemakでちょっと速くなるかもしれないけど、どこに行ってもqwertyが使える便利さには勝てない。」コールマックやドボラックは速さじゃなくて、快適さとRSIを避けるためのものだよ(実際のレイアウトはリストのかなり下の方に位置づけるけど、適切なエルゴノミクスのキーボードが最優先)。それに、約8年間コールマックを使ってきたけど、アクセスできないことが問題になったことは一度もない。人のコンピュータで本を書くわけじゃないし、もしそうなったとしても、慣れてないキーボードで目を閉じて打つのは無理な試みだよ。

「dvorakやcolemakでちょっと速くなるかもしれない」スピードはほぼ同じだよ。コールマックの大きな利点は、長時間のタイピングセッションの後に手や腕が痛くならなかったこと。エルゴノミクスや反復動作障害を避けることが、互換性よりも重要なんだ(とはいえ、今は遅くてもqwertyでも打てるけどね)。

20代でQwertyからDvorakに変えて、30代でVimからHelixに移行したんだ。どちらの移行も最初の数週間は大変だったけど、正直思ったほど難しくなかった。どちらの選択も僕を10倍の開発者にはしてくれなかったけど、問題を引き起こすこともなかった。自分がコントロールできないシステムに多くの時間を費やしてる?Dvorakは他の人が僕のキーボードを使うのを遠慮させるから、正直それが逆方向に行けるよりも価値があるんだ。

どこに行ってもqwertyにアクセスできる便利さには勝てないよね。(キーボードレイアウトは他のマシンで直すのが難しいから、あんまり関係ないけど)でも、自分のキーボードやエディタ設定を使って、1%の不便さで済むのは、健康に悪い使い方を100%するより全然いいよね。 > ちゃんとメンテされてるプラグインを使えば、vimの設定を読み込んで、より良いキーバインドを維持できるよね?

「dvorak/colemakでちょっと速くなることを学べると思う。」 俺が見る限り、レイアウトに関係なく人々はだいたい同じ速度でタイピングしてると思う。もし速く打つことを目指してるなら、違いが出るかもしれないけど、あまり変わらないと思うよ。俺はエルゴキーボードでアルファサムレイアウト(Hands Down Vibranium、Rキーは左の親指の下)で打ってる。これは、安いボールペンと高級万年筆、あるいはメカニカルキーボードとメンブレンキーボードの違いみたいなもんだ。体験は良いけど、根本的にプロセスが違うわけじゃない。変わったセットアップを使ってるから、「もしキーボードが壊れたらどうしよう」とか「公共のコンピュータを使う時はどうする」とか心配してたけど、結局はqwertyを忘れないことが解決策だよ。俺は毎日、コメントみたいな短いことをするためにノートパソコンのキーボードを使ってるけど、それで全然問題ない。俺のセットアップのおかげで、腕を椅子のアームレストに置いて、手首をニュートラルな位置に保てるし、筋肉を使わずに済むんだ。効率的なレイアウトと小さいキーボードのおかげで、手を動かす必要もない。だから、12時間後も手首の位置は最初と同じで、それがストレスによる怪我の回復を助けてるんだ。

「どこに行ってもqwertyにアクセスできるのが保証されている。」 君はあまり遠くに旅行してないみたいだね。

切り替えが必要な人には向いてないのかも。俺にとっては初めてのこういうエディタだから、何かと戦う必要はないんだ。

僕も似たような経験があって、neovimに関しては(著者と同じ理由で、大手テック企業に対する不安から)何度か切り替えようとしたけど、特定のプロジェクトを通じて頑張って使い続けたら、今では自然に使えるようになったよ。イライラしたり、VSCodeの方が早いと思った時には、(n)vimのやり方を調べるのが役立った。新しいコマンドを何回か使って記憶に定着させたんだ。今のところ、検索と置換だけがvimではCodeほど使いやすくないかな。僕がやってるのは、検索フレーズを視覚的にハイライトして、アスタリスクを押してから:%s//replacedってやること。これで検索パターンを省略できるって学んだよ。とにかく、nvimもhelixも素晴らしいし、ターミナルエディタはクールでセクシーだから、使わない理由がないよね? ;)

うわ、検索パターンを省略するっていうヒントを知らなかった!めっちゃいいね、これからたくさん使うわ!お礼に、僕が学んだ検索/置換のやり方を教えるね、ちょっと違った味付けを楽しんで:アスタリスク、cgn([c]hange [g]o [n]ext)、置き換えたものをタイプして、.(ピリオド、繰り返すため)で終わるまで続ける。

Hacker Newsで議論の続きを見る