# scooter: Interactive Find-and-Replace in Your Terminal

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/thomasschafer-scooter
Generated for open source discovery and AI-assisted research.

`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
OSRepos URL: https://osrepos.com/repo/thomasschafer-scooter

## 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.

## Topics

- Rust
- terminal
- CLI
- find-replace
- text-processing
- developer-tools
- productivity

## Repository Information

Last analyzed by OSRepos: Mon Feb 23 2026 08:20:42 GMT+0000 (Western European Standard Time)
Detail views: 2
GitHub clicks: 3

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction

`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.

Key features include:
*   Interactive terminal user interface.
*   Support for both fixed string and regular expression searches.
*   Ability to use capture groups in replacement strings.
*   Respects `.gitignore` and `.ignore` files.
*   Customizable syntax highlighting themes.
*   Seamless integration with popular editors like Helix and Neovim.

## Installation

`scooter` can be installed via several package managers or by building from source.

### Homebrew
On macOS and Linux:
sh
brew install scooter


### Nix
`scooter` is available as `scooter` in nixpkgs:
sh
# Example for NixOS
environment.systemPackages = with pkgs; [ scooter ];


### AUR
For Arch Linux users:
sh
yay -S scooter
# Or for the latest commit:
yay -S scooter-git


### Winget
On Windows:
sh
winget install thomasschafer.scooter


### Scoop
On Windows:
sh
scoop install scooter


### NetBSD
Install from official repositories:
sh
pkgin install scooter


### Prebuilt Binaries
Download 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`.

### Cargo
Ensure you have Cargo installed, then run:
sh
cargo install scooter


### Building from Source
Ensure you have Cargo installed, then run:
sh
git clone https://github.com/thomasschafer/scooter.git
cd scooter
cargo install --path scooter --locked


## Examples

### Basic Usage
To launch `scooter` in the current directory:
sh
scooter


To specify a different directory:
sh
scooter ../foo/bar


### Processing Stdin
Pipe content to `scooter`:
sh
echo "hello world" | scooter


To write results to a file when processing stdin (in TUI mode, results go to stderr):
sh
cat input.txt | scooter 2> output.txt


For `--no-tui` mode, results are written to stdout:
sh
cat input.txt | scooter -N -s before -r after > output.txt


### Pre-populating Search Fields
You can pre-populate search fields directly from the command line:
sh
scooter \
  --search-text "old" \
  --replace-text "new" \
  --fixed-strings \
  --files-to-include "*.rs,*.py"

Use the `--immediate-search` flag to skip the initial search screen and jump straight to results.

## Why Use It?

`scooter` stands out for its unique combination of interactivity, performance, and flexibility:

*   **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.
*   **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.
*   **Powerful Regex Capabilities**: It supports advanced regular expressions, including capture groups, allowing for complex and precise search patterns and dynamic replacements.
*   **Customization**: Tailor your experience with custom syntax highlighting themes and configurable keybindings to match your workflow.
*   **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.

## Links

*   **GitHub Repository**: [https://github.com/thomasschafer/scooter](https://github.com/thomasschafer/scooter){target="_blank"}