[Normal] h / j / k / l / w / b / e / <n>G
Normal モードでの基本移動です。Helix は選択を中心に動くエディタなので、移動した範囲がそのまま次の編集対象になる感覚を掴むと扱いやすくなります。
# 左・下・上・右に移動する h j k l
# 次の単語先頭 / 前の単語先頭 / 次の単語末尾へ移動する w / b / e
# 120 行目へ移動する 120G
# 半画面分、上 / 下へスクロールしながら移動する <C-u> / <C-d>
Helix でよく使う基本操作を、「移動」「編集」「選択」「検索」「ファイル/バッファ」「ウィンドウ/LSP」ごとに眺められるチートシートです。選択してから編集する Helix の流れを意識しながら、キー入力と具体例を素早く確認できます。
[Normal] h / j / k / l / w / b / e / <n>G
Normal モードでの基本移動です。Helix は選択を中心に動くエディタなので、移動した範囲がそのまま次の編集対象になる感覚を掴むと扱いやすくなります。
# 左・下・上・右に移動する h j k l
# 次の単語先頭 / 前の単語先頭 / 次の単語末尾へ移動する w / b / e
# 120 行目へ移動する 120G
# 半画面分、上 / 下へスクロールしながら移動する <C-u> / <C-d>
[Normal] g + g/e/h/l/s
g から始まる goto モードは、ファイル先頭・末尾・行頭・行末など、位置を指定して移動するためのモードです。Vim の gg / G と少し違う部分があるため、Helix の流儀として覚えると楽です。
# ファイル先頭へ移動する g g
# ファイル末尾へ移動する g e
# 行頭 / 行末へ移動する g h / g l
# 行の最初の非空白文字へ移動する g s
[Normal] i / a / I / A / o / O, [Insert] <Esc>
Normal モードから Insert モードに入るための基本キーです。Helix では選択範囲の前後に入力する、行頭・行末から入力する、新しい行を作る、といった使い分けをします。
# 選択の前 / 後ろから入力を始める i / a
# 行頭 / 行末から入力を始める I / A
# 下 / 上に新しい行を作って入力を始める o / O
# Insert モードから Normal モードに戻る <Esc>
[Normal] d / c / y / p / P
Helix の編集操作は現在の選択範囲に対して実行されます。先に x や移動で範囲を作り、そこへ d / c / y / p を適用するのが基本です。
# 現在行を選択して削除する x d
# 次の単語範囲を選択して、削除後に Insert モードへ入る w c
# 選択範囲をコピーし、選択の後 / 前に貼り付ける y / p / P
# 選択範囲を yank せずに削除する Alt-d
[Normal] u / U / .
編集の取り消しとやり直し、直前の insert を繰り返す操作です。Helix では Insert モードから抜けたタイミングが undo のまとまりになります。
# 直前の変更を取り消す u
# 取り消した変更をやり直す U
# 直前の insert 操作を繰り返す .
[Normal] x / X / % / v
Helix らしい選択操作の基本です。x で現在行を選択、% でファイル全体を選択、v で Select モードに入り、以後の移動で選択範囲を拡張します。
# 現在行を選択する。続けて押すと次の行へ選択を広げる x
# 現在の選択を行単位の範囲に広げる X
# ファイル全体を選択する %
# Select モードに入り、下方向へ選択を拡張する v + jjj
[Normal] s / S / ; / , / C / Alt-C
選択範囲の中から正規表現に一致する箇所を選んだり、複数選択を単一カーソルへ戻したりする操作です。複数カーソル編集を始めるときの入口になります。
# 選択範囲内の error に一致する箇所をすべて選択する s error<CR>
# 選択範囲をカンマに一致する位置で分割する S ,<CR>
# 選択範囲を単一カーソルに畳む ;
# 下 / 上の行へ同じ選択を追加する C / Alt-C
[Normal] /pattern / ?pattern / n / N / *
正規表現で検索し、次・前の一致へ移動します。* は現在の選択を検索パターンにするため、先に選択してから関連箇所をたどる流れに向いています。
# TODO を前方検索する /TODO<CR>
# error を後方検索する ?error<CR>
# 次 / 前の検索一致を選択する n / N
# 現在の選択範囲を検索パターンとして使う *
:[command] 例: :w, :q, :wq, :bn, :bp, :bc
コマンドモードでファイルの保存、終了、バッファ切り替えを行います。! 付きの強制終了・強制クローズは未保存変更を破棄するため慎重に使います。
# 現在のファイルを保存する :w
# 現在の view を閉じる。未保存変更がある場合は失敗する :q
# 保存してから現在の view を閉じる :wq
# 次 / 前のバッファへ移動する :bn / :bp
# 現在のバッファを未保存変更ごと強制的に閉じる(要注意) :bc!
[Normal] Space + f/F/b/'/?
Space モードは picker や便利機能への入口です。ファイル picker、バッファ picker、直前 picker の再表示、コマンドパレットを素早く開けます。
# ワークスペースルートでファイル picker を開く Space f
# 現在の作業ディレクトリでファイル picker を開く Space F
# バッファ picker を開く Space b
# コマンドパレットを開く Space ?
[Normal] Ctrl-w + v/s/h/j/k/l/q/o
Ctrl-w から始まる window モードで、左右・上下分割、分割間の移動、現在 window のクローズを行います。Neovim に近い感覚で使える操作です。
# 右側に縦分割を作る Ctrl-w v
# 下側に横分割を作る Ctrl-w s
# 左 / 下 / 上 / 右の分割へ移動する Ctrl-w h/j/k/l
# 現在の window を閉じる Ctrl-w q
[Normal] g d/r/i/y, Space a/k/s/d
Language Server が有効なファイルで使える操作です。定義ジャンプ、参照表示、コードアクション、hover、シンボル picker などをキーボードから呼び出せます。
# 定義へ移動する g d
# 参照へ移動する g r
# コードアクションを表示する Space a
# カーソル下のシンボルのドキュメントを表示する Space k