{"name":"scooter: Interactive Find-and-Replace in Your Terminal","description":"`scooter` is an interactive terminal UI application designed for efficient find-and-replace operations. It allows users to recursively search through files or process text from stdin, providing an interactive interface to toggle which instances to replace. Built with Rust, `scooter` delivers fast performance and supports advanced regex features, custom themes, and seamless editor integrations.","github":"https://github.com/thomasschafer/scooter","url":"https://osrepos.com/repo/thomasschafer-scooter","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/thomasschafer-scooter","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/thomasschafer-scooter.md","json":"https://osrepos.com/repo/thomasschafer-scooter.json","topics":["Rust","terminal","CLI","find-replace","text-processing","developer-tools","productivity"],"keywords":["Rust","terminal","CLI","find-replace","text-processing","developer-tools","productivity"],"stars":null,"summary":"`scooter` is an interactive terminal UI application designed for efficient find-and-replace operations. It allows users to recursively search through files or process text from stdin, providing an interactive interface to toggle which instances to replace. Built with Rust, `scooter` delivers fast performance and supports advanced regex features, custom themes, and seamless editor integrations.","content":"## Introduction\n\n`scooter` is a powerful and interactive terminal UI application for find-and-replace operations. Built with Rust for speed and efficiency, it allows users to recursively search through files in the current directory or process text piped from stdin. With `scooter`, you can use either fixed strings or regular expressions for searching, enter a replacement, and then interactively toggle which instances you want to replace. It intelligently handles changes in files, ensuring replacements only occur on valid instances.\n\nKey features include:\n*   Interactive terminal user interface.\n*   Support for both fixed string and regular expression searches.\n*   Ability to use capture groups in replacement strings.\n*   Respects `.gitignore` and `.ignore` files.\n*   Customizable syntax highlighting themes.\n*   Seamless integration with popular editors like Helix and Neovim.\n\n## Installation\n\n`scooter` can be installed via several package managers or by building from source.\n\n### Homebrew\nOn macOS and Linux:\nsh\nbrew install scooter\n\n\n### Nix\n`scooter` is available as `scooter` in nixpkgs:\nsh\n# Example for NixOS\nenvironment.systemPackages = with pkgs; [ scooter ];\n\n\n### AUR\nFor Arch Linux users:\nsh\nyay -S scooter\n# Or for the latest commit:\nyay -S scooter-git\n\n\n### Winget\nOn Windows:\nsh\nwinget install thomasschafer.scooter\n\n\n### Scoop\nOn Windows:\nsh\nscoop install scooter\n\n\n### NetBSD\nInstall from official repositories:\nsh\npkgin install scooter\n\n\n### Prebuilt Binaries\nDownload the appropriate binary for your system from the [scooter releases page](https://github.com/thomasschafer/scooter/releases/latest){target=\"_blank\"}. Extract the binary and move it to a directory in your `PATH`.\n\n### Cargo\nEnsure you have Cargo installed, then run:\nsh\ncargo install scooter\n\n\n### Building from Source\nEnsure you have Cargo installed, then run:\nsh\ngit clone https://github.com/thomasschafer/scooter.git\ncd scooter\ncargo install --path scooter --locked\n\n\n## Examples\n\n### Basic Usage\nTo launch `scooter` in the current directory:\nsh\nscooter\n\n\nTo specify a different directory:\nsh\nscooter ../foo/bar\n\n\n### Processing Stdin\nPipe content to `scooter`:\nsh\necho \"hello world\" | scooter\n\n\nTo write results to a file when processing stdin (in TUI mode, results go to stderr):\nsh\ncat input.txt | scooter 2> output.txt\n\n\nFor `--no-tui` mode, results are written to stdout:\nsh\ncat input.txt | scooter -N -s before -r after > output.txt\n\n\n### Pre-populating Search Fields\nYou can pre-populate search fields directly from the command line:\nsh\nscooter \\\n  --search-text \"old\" \\\n  --replace-text \"new\" \\\n  --fixed-strings \\\n  --files-to-include \"*.rs,*.py\"\n\nUse the `--immediate-search` flag to skip the initial search screen and jump straight to results.\n\n## Why Use It?\n\n`scooter` stands out for its unique combination of interactivity, performance, and flexibility:\n\n*   **Interactive Control**: Unlike traditional find-and-replace tools, `scooter` provides a terminal UI where you can review and selectively apply replacements, giving you fine-grained control over changes.\n*   **Blazing Fast Performance**: Leveraging the `ripgrep` file walker, `scooter` is exceptionally fast. Benchmarks show it performing find-and-replace operations on large codebases, like the Linux kernel, with speed comparable to or even exceeding other specialized tools.\n*   **Powerful Regex Capabilities**: It supports advanced regular expressions, including capture groups, allowing for complex and precise search patterns and dynamic replacements.\n*   **Customization**: Tailor your experience with custom syntax highlighting themes and configurable keybindings to match your workflow.\n*   **Editor Integration**: `scooter` offers deep integration with popular text editors such as Helix and Neovim, enabling you to perform project-wide or buffer-specific find-and-replace without leaving your editor environment.\n\n## Links\n\n*   **GitHub Repository**: [https://github.com/thomasschafer/scooter](https://github.com/thomasschafer/scooter){target=\"_blank\"}","metrics":{"detailViews":2,"githubClicks":3},"dates":{"published":null,"modified":"2026-02-23T08:20:42.000Z"}}