这是一个在单次操作中对单个文件进行多次编辑的工具。它基于 Edit 工具构建，允许你高效地执行多次查找替换操作。当需要对同一文件进行多次编辑时，优先使用此工具而不是 Edit 工具。

使用此工具前：

1. 使用 Read 工具了解文件的内容和上下文
2. 确认目录路径正确

要进行多次文件编辑，请提供以下内容：
1. file_path：要修改的文件的绝对路径（必须是绝对路径，而非相对路径）
2. edits：要执行的编辑操作数组，每个编辑包含：
   - oldString：要替换的文本（必须与文件内容完全匹配，包括所有空白和缩进）
   - newString：用于替换 oldString 的编辑后文本
   - replaceAll：替换所有出现的 oldString。此参数可选，默认为 false。

重要提示：
- 所有编辑按提供顺序依次应用
- 每个编辑操作基于前一个编辑的结果
- 所有编辑必须有效才能使操作成功——如果任何编辑失败，则所有编辑都不会被应用
- 当需要对同一文件的不同部分进行多处更改时，此工具非常理想

关键要求：
1. 所有编辑遵循与单个 Edit 工具相同的要求
2. 编辑是原子性的——要么全部成功，要么全部不应用
3. 仔细规划编辑以避免顺序操作间的冲突

警告：
- 如果 edits.oldString 与文件内容不完全匹配（包括空白），工具将失败
- 如果 edits.oldString 和 edits.newString 相同，工具将失败
- 由于编辑是按顺序应用的，请确保前面的编辑不会影响后面编辑要查找的文本

进行编辑时：
- 确保所有编辑结果是地道、正确的代码
- 不要使代码处于损坏状态
- 始终使用绝对文件路径（以 / 开头）
- 除非用户明确要求，否则仅使用表情符号。除非被要求，否则避免在文件中添加表情符号。
- 使用 replaceAll 在文件中替换和重命名字符串。例如，如果你想要重命名变量，此参数很有用。

如果要创建新文件，请使用：
- 新的文件路径，如果需要可包含目录名
- 第一次编辑：空的 oldString 和新文件内容作为 newString
- 后续编辑：对已创建内容的普通编辑操作