コンテンツにスキップ

ファイルと検索

ファイルを開く

方法 動作
Ctrl+P(Helix モードでは Space f も) Quick Open。ファイル名の一部を入力して選ぶ
Space b(Helix モード) 開いているバッファの一覧から選ぶ
:o <パス> パスを指定して開く
Ctrl+N / :n 名前のない新しいファイル
ファイルツリーで Enter 選んだファイルを開く

保存

方法 動作
Ctrl+S / :w 保存
:w <パス> 別のパスに保存
:wa すべて保存

自動保存が既定で有効です。編集が 1 秒止まると保存します。名前のないファイルは対象外です。 無効にする方法は 設定ファイル にあります。

ファイルツリー

Ctrl+B で表示を切り替えます。Ctrl+E でフォーカスを移します。

並び順は、ドットで始まるフォルダー、ほかのフォルダー、ドットで始まるファイル、ほかのファイルの順です。同じ種類の中では、名前の英字を大文字小文字を区別せずに並べます。

キー 動作
j / k 下 / 上へ移動
Ctrl+D / Ctrl+U 1 画面下 / 上
g / G 先頭 / 末尾
Enter / o ファイルを開いてエディタへ移る。フォルダーは開閉
l ファイルを開く(フォーカスはツリーのまま)。フォルダーは展開
h フォルダーを閉じる。閉じていれば親フォルダーへ
a / n 新しいファイル
A / N 新しいフォルダー
r 名前の変更
d / Delete 削除
y / Y 選んだ項目の相対パス / 絶対パスをコピー(コマンドパレットの「ファイル: 相対パスをコピー」「絶対パスをコピー」は今のタブのファイル)
R ツリーを更新
Esc / q / Tab エディタへ戻る

Git の状態の表示

文字 意味
M 変更あり
U 未追跡
A 追加済み(ステージ済み)
D 削除
R 名前の変更
• 中に変更のあるファイルを含むフォルダー

ファイル内の検索

方法 動作
/ / ?(Helix モード) 前方 / 後方へ検索。n / N で次 / 前
Ctrl+F(VS Code モード) 検索欄を開く。選択中の文字(1 行以内)が初期値になる

プロジェクト全体の検索と置換

次のどれでも、同じフローティング窓が開きます。

  • Space /(Helix モード)
  • コマンドパレットの「検索: プロジェクト全体を検索 / 置換」
  • :grep
  • :replace

窓の構成は次のとおりです。

  • 上:条件。検索・置換・含める・除外の 4 つの欄と、トグルがあります。
  • 左下:一致した行(Matched)。
  • 右下:選んだ行の前後(View)。置換欄に文字があると、- / + の差分も出ます。

条件を変えると、短い待ち時間のあとに自動で検索し直します。

キー 動作
Tab / Shift+Tab 次 / 前の欄へ
↑ ↓ / Ctrl+P Ctrl+N / PgUp PgDn 一致した行を選ぶ
Enter 選んだ行を、そのファイルで開く
Ctrl+X(Alt+X) 選んだ行を置換の対象から外す / 戻す。外した行は x で表示
Alt+C 大文字小文字を区別する
Alt+W 単語単位で一致させる
Alt+R 正規表現
Alt+P 置換で大文字小文字を保持する
Alt+1 選んだ行だけを置換する(パネルは閉じず、次の一致へ進む)
Alt+Enter 対象の行をすべて置換する
Esc 閉じる

検索の対象

  • Git の管理下にあるテキストファイルを探します。未追跡で ignore されていないファイルも含みます。
  • Git の外では、ビルド用のディレクトリを除いて探します。
  • 開いているバッファの、未保存の内容も検索します。

含める・除外

「含める」「除外」の欄には、カンマ区切りの glob を書きます(例:*.lock,dist/**)。 初期値は [search] 設定の値です。

:grep と :replace では、引数でも指定できます。-x は --exclude=、-i は --include= とも書けます。

:grep -x '*.lock,dist/**' -i '*.go' foo
:replace foo => bar
  • 引数を付けると、その内容を各欄に入れた状態で窓が開きます。
  • :grep / :replace だけを入力すると、前回の条件のまま開きます。

常に効かせたい指定は [search] に書きます。

[search]
exclude = ["*.lock", "dist/**"]
include = []

書く場所

[search] は ~/.config/shijimi/config.toml か .shijimi/config.toml に書きます。 .helix/config.toml に書くと、Helix が未知のセクションとして拒否します。

置換

置換欄に文字を入れ、Alt+Enter で実行します。

  • 置換したファイルは、バッファとして開きます。保存するまでディスクは変わりません。u / Ctrl+Z で元に戻せます。
  • 正規表現が有効なときは、置換欄で $1 のようなキャプチャを使えます。無効なときの $ は、そのままの文字です。
  • 検索結果が 5000 件を超えると、条件を絞るまで全置換できません。

外部での変更の反映

AI エージェントなど、別のプロセスがファイルを変えると、shijimi は自動で読み直します。

  • 未保存の編集があるファイルは読み直しません。:reload を実行すると読み直します。
  • 無効にするには [editor] の watch-files = false を設定します(設定ファイル)。