Repolode
thomasschafer

thomasschafer/scooter

终端交互式查找替换工具,可逐条确认替换文件或标准输入中的内容。

Star
1,302
Fork
19
未关闭 Issue
12
最近提交
4天前

这是什么?

scooter 是一个在终端中运行的查找替换工具。默认递归搜索当前目录下的文件,也可以处理从标准输入传入的文本。你输入查找内容和替换内容后,可以逐条选择哪些匹配需要替换,确认后再写入修改。

搜索支持普通字符串和正则表达式,替换内容中可以使用捕获组(如 $1、$2)。还提供全词匹配、区分大小写、多行匹配、基于 glob 的文件包含与排除过滤,并遵循 .gitignore 和 .ignore 规则。搜索之后若目标内容已被修改,该处替换会被跳过,并在最后列出,避免覆盖意外变化。

文件遍历基于 ripgrep 实现。另外支持语法高亮主题、通过 $EDITOR 在对应行打开结果,以及用于脚本的无界面模式。

核心功能

  • 01交互式确认:可逐条切换每个匹配是否替换。
  • 02支持普通字符串和正则搜索,替换内容可使用捕获组。
  • 03通过包含和排除的 glob 模式过滤文件。
  • 04遵循 .gitignore 和 .ignore 规则,默认跳过隐藏文件。
  • 05可处理标准输入,并支持不带界面的输出模式。

适用场景

  • 在代码库中重命名标识符,并逐处检查每一处修改。
  • 在终端中对项目目录进行批量文本替换。
  • 在 shell 脚本中通过无界面模式处理管道文本。

快速上手

  1. 1

    使用 Homebrew 安装 scooter(macOS 和 Linux)

    brew install scooter
  2. 2

    在终端中进入要搜索的目录并启动 scooter

    scooter

使用前须知

  • 默认的正则引擎只支持部分功能,使用前瞻等高级模式需要加上 -a 参数。
  • 如果匹配的行在搜索后发生了变化,对应的替换会被跳过,这些跳过的情况只会在最后列出。

收录于专题

标签

常见问题

scooter 是什么?
终端交互式查找替换工具,可逐条确认替换文件或标准输入中的内容。 scooter 是一个在终端中运行的查找替换工具。默认递归搜索当前目录下的文件,也可以处理从标准输入传入的文本。你输入查找内容和替换内容后,可以逐条选择哪些匹配需要替换,确认后再写入修改。
scooter 可以免费使用吗?用的什么许可证?
scooter 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
scooter 还在维护吗?
活跃维护中。scooter 最近一次提交是在 2026年10月18日。
scooter 适合用来做什么?
在代码库中重命名标识符,并逐处检查每一处修改。 在终端中对项目目录进行批量文本替换。 在 shell 脚本中通过无界面模式处理管道文本。
scooter 怎么安装和运行?
使用 Homebrew 安装 scooter(macOS 和 Linux): brew install scooter 在终端中进入要搜索的目录并启动 scooter: scooter
在哪里获取 scooter?
源代码和安装说明在 GitHub 上:https://github.com/thomasschafer/scooter

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目