Helix Cheatsheet

Helix でよく使う基本操作を、「移動」「編集」「選択」「検索」「ファイル/バッファ」「ウィンドウ/LSP」ごとに眺められるチートシートです。選択してから編集する Helix の流れを意識しながら、キー入力と具体例を素早く確認できます。

カテゴリ

移動・goto

h j k l / w b e / G基本移動(文字・単語・行番号へ移動)

[Normal] h / j / k / l / w / b / e / <n>G

安全度: 低(閲覧・移動中心)

Normal モードでの基本移動です。Helix は選択を中心に動くエディタなので、移動した範囲がそのまま次の編集対象になる感覚を掴むと扱いやすくなります。

#移動#Normal#単語#行番号
# 左・下・上・右に移動する
h j k l
# 次の単語先頭 / 前の単語先頭 / 次の単語末尾へ移動する
w / b / e
# 120 行目へ移動する
120G
# 半画面分、上 / 下へスクロールしながら移動する
<C-u> / <C-d>
g g / g e / g h / g lgoto モードで先頭・末尾・行頭・行末へ移動

[Normal] g + g/e/h/l/s

安全度: 低(閲覧・移動中心)

g から始まる goto モードは、ファイル先頭・末尾・行頭・行末など、位置を指定して移動するためのモードです。Vim の gg / G と少し違う部分があるため、Helix の流儀として覚えると楽です。

#goto#先頭#末尾#行頭#行末
# ファイル先頭へ移動する
g g
# ファイル末尾へ移動する
g e
# 行頭 / 行末へ移動する
g h / g l
# 行の最初の非空白文字へ移動する
g s

編集・挿入

i / a / I / A / o / O挿入モードへの移行

[Normal] i / a / I / A / o / O, [Insert] <Esc>

安全度: 中(内容や表示が変わる操作)

Normal モードから Insert モードに入るための基本キーです。Helix では選択範囲の前後に入力する、行頭・行末から入力する、新しい行を作る、といった使い分けをします。

#Insert#入力#挿入#新規行
# 選択の前 / 後ろから入力を始める
i / a
# 行頭 / 行末から入力を始める
I / A
# 下 / 上に新しい行を作って入力を始める
o / O
# Insert モードから Normal モードに戻る
<Esc>
d / c / y / p / P選択範囲の削除・変更・コピー・貼り付け

[Normal] d / c / y / p / P

安全度: 中(内容や表示が変わる操作)

Helix の編集操作は現在の選択範囲に対して実行されます。先に x や移動で範囲を作り、そこへ d / c / y / p を適用するのが基本です。

#削除#変更#コピー#貼り付け#selection
# 現在行を選択して削除する
x d
# 次の単語範囲を選択して、削除後に Insert モードへ入る
w c
# 選択範囲をコピーし、選択の後 / 前に貼り付ける
y / p / P
# 選択範囲を yank せずに削除する
Alt-d
u / U / .取り消し・やり直し・直前入力の繰り返し

[Normal] u / U / .

安全度: 中(内容や表示が変わる操作)

編集の取り消しとやり直し、直前の insert を繰り返す操作です。Helix では Insert モードから抜けたタイミングが undo のまとまりになります。

#undo#redo#繰り返し
# 直前の変更を取り消す
u
# 取り消した変更をやり直す
U
# 直前の insert 操作を繰り返す
.

選択・複数カーソル

x / X / % / v行・ファイル全体・拡張選択

[Normal] x / X / % / v

安全度: 中(内容や表示が変わる操作)

Helix らしい選択操作の基本です。x で現在行を選択、% でファイル全体を選択、v で Select モードに入り、以後の移動で選択範囲を拡張します。

#選択#行選択#Select#ファイル全体
# 現在行を選択する。続けて押すと次の行へ選択を広げる
x
# 現在の選択を行単位の範囲に広げる
X
# ファイル全体を選択する
%
# Select モードに入り、下方向へ選択を拡張する
v + jjj
s / S / ; / ,正規表現で選択・複数選択を整理

[Normal] s / S / ; / , / C / Alt-C

安全度: 中(内容や表示が変わる操作)

選択範囲の中から正規表現に一致する箇所を選んだり、複数選択を単一カーソルへ戻したりする操作です。複数カーソル編集を始めるときの入口になります。

#複数選択#正規表現#カーソル#選択整理
# 選択範囲内の error に一致する箇所をすべて選択する
s error<CR>
# 選択範囲をカンマに一致する位置で分割する
S ,<CR>
# 選択範囲を単一カーソルに畳む
;
# 下 / 上の行へ同じ選択を追加する
C / Alt-C

検索

/ / ? / n / N / *検索と検索結果の移動

[Normal] /pattern / ?pattern / n / N / *

安全度: 低(閲覧・移動中心)

正規表現で検索し、次・前の一致へ移動します。* は現在の選択を検索パターンにするため、先に選択してから関連箇所をたどる流れに向いています。

#検索#正規表現#selection
# TODO を前方検索する
/TODO<CR>
# error を後方検索する
?error<CR>
# 次 / 前の検索一致を選択する
n / N
# 現在の選択範囲を検索パターンとして使う
*

ファイル・バッファ

:w / :q / :wq / :bc保存・終了・バッファ操作

:[command] 例: :w, :q, :wq, :bn, :bp, :bc

安全度: 中(内容や表示が変わる操作)

コマンドモードでファイルの保存、終了、バッファ切り替えを行います。! 付きの強制終了・強制クローズは未保存変更を破棄するため慎重に使います。

#保存#終了#buffer#command
# 現在のファイルを保存する
:w
# 現在の view を閉じる。未保存変更がある場合は失敗する
:q
# 保存してから現在の view を閉じる
:wq
# 次 / 前のバッファへ移動する
:bn / :bp
# 現在のバッファを未保存変更ごと強制的に閉じる(要注意)
:bc!
Space f / Space b / Space ?ファイル・バッファ・コマンドパレット

[Normal] Space + f/F/b/'/?

安全度: 低(閲覧・移動中心)

Space モードは picker や便利機能への入口です。ファイル picker、バッファ picker、直前 picker の再表示、コマンドパレットを素早く開けます。

#Space#picker#ファイル#バッファ
# ワークスペースルートでファイル picker を開く
Space f
# 現在の作業ディレクトリでファイル picker を開く
Space F
# バッファ picker を開く
Space b
# コマンドパレットを開く
Space ?

ウィンドウ・LSP

Ctrl-w v / s / h j k l / qウィンドウ分割と移動

[Normal] Ctrl-w + v/s/h/j/k/l/q/o

安全度: 中(内容や表示が変わる操作)

Ctrl-w から始まる window モードで、左右・上下分割、分割間の移動、現在 window のクローズを行います。Neovim に近い感覚で使える操作です。

#window#split#分割#移動
# 右側に縦分割を作る
Ctrl-w v
# 下側に横分割を作る
Ctrl-w s
# 左 / 下 / 上 / 右の分割へ移動する
Ctrl-w h/j/k/l
# 現在の window を閉じる
Ctrl-w q
g d / g r / Space a / Space kLSP 操作(定義・参照・アクション)

[Normal] g d/r/i/y, Space a/k/s/d

安全度: 低(閲覧・移動中心)

Language Server が有効なファイルで使える操作です。定義ジャンプ、参照表示、コードアクション、hover、シンボル picker などをキーボードから呼び出せます。

#LSP#定義ジャンプ#参照#code action
# 定義へ移動する
g d
# 参照へ移動する
g r
# コードアクションを表示する
Space a
# カーソル下のシンボルのドキュメントを表示する
Space k