Repolode
thomasschafer

thomasschafer/scooter

ファイルや標準入力を対象に、正規表現・固定文字列検索とマッチごとの確認ができる、対話型のターミナルUI置換ツール。

スター
1,302
フォーク
19
未解決の Issue
12
最終コミット
4 日前

これは何?

scooterは、ターミナルで動作する検索・置換ツールです。デフォルトではカレントディレクトリ内のファイルを再帰的に検索し、標準入力からパイプで渡されたテキストも処理できます。検索文字列と置換文字列を入力したら、変更を適用する前に、置換するマッチを個別に切り替えて選択します。

固定文字列または正規表現で検索でき、置換文字列では$1や$2などのキャプチャグループも使えます。単語単位や大文字・小文字を区別する検索、複数行モード、globによる対象ファイルの包含・除外フィルター、.gitignoreと.ignoreファイルの尊重などのオプションがあります。検索後に変更されたマッチは上書きを避けるためスキップされ、最後に報告されます。

ファイルの走査にはripgrepのものを使用しています。構文ハイライトのテーマ、マッチした行を指定して$EDITORで結果を開くエディター連携、スクリプト向けのTUIなしモードも備えています。

主な機能

  • 01対話形式で確認:置換前にマッチごとに置換するかどうかを切り替えられます。
  • 02固定文字列検索と正規表現検索に対応し、置換文字列ではキャプチャグループを使えます。
  • 03包含・除外のglobパターンで対象ファイルを絞り込めます。
  • 04.gitignoreと.ignoreファイルを尊重し、デフォルトでは隠しファイルをスキップします。
  • 05パイプで渡された標準入力を処理し、TUIを使わずに結果を出力できます。

ユースケース

  • 変更内容を1つずつ確認しながら、コードベース全体で識別子を変更する。
  • ターミナルからプロジェクトディレクトリ内のテキストを一括編集する。
  • --no-tuiモードを使い、シェルスクリプトでパイプ入力されたテキストを変換する。

クイックスタート

  1. 1

    Homebrew で scooter をインストールする(macOS と Linux)

    brew install scooter
  2. 2

    検索したいディレクトリでターミナルから scooter を起動する

    scooter

使う前に知っておきたいこと

  • デフォルトでは正規表現エンジンが一部の機能しかサポートしていないため、先読みなどの高度なパターンには -a フラグが必要です。
  • 検索後に一致した行が変更されている場合、置換はスキップされます。スキップされたケースは最後にのみ一覧表示されます。

収録されている特集

トピック

よくある質問

scooter とは?
ファイルや標準入力を対象に、正規表現・固定文字列検索とマッチごとの確認ができる、対話型のターミナルUI置換ツール。 scooterは、ターミナルで動作する検索・置換ツールです。デフォルトではカレントディレクトリ内のファイルを再帰的に検索し、標準入力からパイプで渡されたテキストも処理できます。検索文字列と置換文字列を入力したら、変更を適用する前に、置換するマッチを個別に切り替えて選択します。
scooter は無料で使えますか?ライセンスは?
scooter は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
scooter は今もメンテナンスされていますか?
活発にメンテナンス中。scooter の最終コミットは 2026年10月18日 です。
scooter は何に使えますか?
変更内容を1つずつ確認しながら、コードベース全体で識別子を変更する。 ターミナルからプロジェクトディレクトリ内のテキストを一括編集する。 --no-tuiモードを使い、シェルスクリプトでパイプ入力されたテキストを変換する。
scooter のインストール方法は?
Homebrew で scooter をインストールする(macOS と Linux): brew install scooter 検索したいディレクトリでターミナルから scooter を起動する: scooter
scooter はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/thomasschafer/scooter

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト