プロジェクト全体の検索と置換操作のための包括的な Serpl ターミナルUI コマンド。
| コマンド | 説明 |
|---|
cargo install serpl | Cargo(Rust)経由でインストール |
brew install serpl | Homebrew経由でインストール(macOS) |
nix-env -i serpl | Nix経由でインストール |
pacman -S serpl | Arch Linux上でインストール |
| GitHubリリースからダウンロード | プリビルトバイナリが利用可能 |
serpl --version | Serplバージョンを表示 |
| コマンド | 説明 |
|---|
serpl | 現在のディレクトリでSerplを起動 |
serpl --search-text "oldFunc" | 検索語を事前入力して起動 |
serpl --replace-text "newFunc" | 置換語を事前入力して起動 |
serpl --search-path ./src | 特定のディレクトリで検索 |
serpl --hidden | 隠しファイルを検索に含める |
serpl --ignore-case | 大文字小文字を区別しない検索 |
| ショートカット | 説明 |
|---|
j | 結果リストを下に移動 |
k | 結果リストを上に移動 |
g | 最初の結果にジャンプ |
G | 最後の結果にジャンプ |
/ | 結果リスト内で検索 |
Enter | アクション選択を確認 |
Escape | キャンセル/戻る |
q | Serplを終了 |
| ショートカット | 説明 |
|---|
Tab | 検索フィールドと置換フィールドを切り替え |
Ctrl + N | 検索モードと置換モードを切り替え |
Ctrl + B | ヘルプダイアログを開く |
Ctrl + C | アプリケーションを終了 |
| ショートカット | 説明 |
|---|
| 検索フィールドに入力 | すべてのファイル全体で生検索 |
Ctrl + N | 検索モードを切り替え |
| 大文字小文字を区別するモード | 完全なケースマッチ |
| 大文字小文字を区別しないモード | ケースの違いを無視 |
| 正規表現モード | 正規表現を使用 |
| AST Grepモード | 構造的なコード検索 |
| ショートカット | 説明 |
|---|
Ctrl + O | すべてのファイルで置換を処理 |
d | 結果から選択したファイルまたは行を削除 |
| シンプル置換 | すべてのオカレンスを直接置換 |
| ケース保持置換 | 元のケーシングパターンを保持 |
| AST Grep置換 | 構造的なコード置換 |
| モード | 説明 |
|---|
| Simple | 直接テキスト置換 |
| Preserve Case | 元のテキストのケースパターンをマッチ |
| AST Grep | 構文木認識の置換 |
| モード | 説明 |
|---|
| Fixed String | リテラルテキストマッチング |
| Regex | 正規表現マッチング |
| AST Grep | 構造的なコードパターンマッチング |
| ショートカット | 説明 |
|---|
d | 結果からファイル/行を削除(スキップ) |
Ctrl + O | 残りのすべてのファイルに置換を適用 |
| ファイルごとの変更をレビュー | 適用前にプレビューを表示 |
| 元に戻すは利用不可 | 変更は永続的—Gitを使用 |
| 設定 | 説明 |
|---|
~/.config/serpl/config.json | 設定ファイルの場所 |
| カスタムキーバインディング | デフォルトショートカットをオーバーライド |
| 検索モードのデフォルト | 優先検索モードを設定 |
| 置換モードのデフォルト | 優先置換モードを設定 |
| ファイルパターンフィルタ | 含めるファイルを設定 |
| 無視パターン | 除外するファイルを設定 |
{
"key_bindings": {
"quit": "q",
"navigate_up": "k",
"navigate_down": "j",
"go_to_top": "g",
"go_to_bottom": "G",
"delete": "d",
"process_replace": "Ctrl+o",
"toggle_help": "Ctrl+b",
"search_in_list": "/"
},
"search_mode": "fixed_string",
"replace_mode": "simple"
}
| ワークフロー | 説明 |
|---|
| 変数を名前変更 | 古い名前を検索 → 新しい名前で置換 |
| インポートパスを更新 | 古いパスを検索 → 新しいパスで置換 |
| APIコールを移行 | 非推奨を検索 → 新しいAPIで置換 |
| プロジェクト全体でタイポを修正 | ミススペルを検索 → 正しい表記で置換 |
| 設定値を更新 | 古い値を検索 → 新しい値で置換 |
| ワークフロー | 説明 |
|---|
serpl後に git diff | すべての変更内容をレビュー |
serpl前に git stash | 現在の作業内容を保存 |
git checkout -- . で元に戻す | 必要に応じてすべての変更をリバート |
| ブランチで作業 | 検索置換の変更を分離 |
serpl後に git add -p | 変更を選択的にステージング |
| 機能 | Serpl | sed | VS Code |
|---|
| インタラクティブプレビュー | あり | なし | あり |
| TUIインターフェース | あり | なし | GUI |
| ケース保持 | あり | 手動 | あり |
| AST Grep | あり | なし | 拡張機能 |
| SSHで動作 | あり | あり | なし |
| 正規表現対応 | あり | あり | あり |
| ヒント | 説明 |
|---|
| 常にGitを使用 | 置換実行前にコミット |
| 適用前にプレビュー | TUIで各変更をレビュー |
| コード用にAST Grepを使用 | 構造的マッチングで誤検出を回避 |
| ケース保持を使用 | camelCaseやPascalCaseを保持 |
| 誤検出を削除 | 不要なマッチをスキップ |
| 検索パスを指定 | --search-path でスコープを絞る |
| 隠しファイルをチェック | 必要に応じて --hidden フラグを使用 |