mcpField
B
broot

broot

官方
github.com开发者工具13.1kbroot1 周前更新
代码仓库访问官网

关于 broot

broot 帮助用户快速导航目录树并预览文件内容。支持模糊搜索、正则表达式过滤、文件预览和快速启动外部命令。

主要功能

  1. 01用模糊搜索或正则表达式快速定位目录和文件
  2. 02预览文件内容、目录结构和搜索结果
  3. 03从导航视图直接启动编辑器或其他命令
  4. 04列出和筛选特定类型或大小的文件

适用场景

  1. 01在大型项目中快速找到所需的文件和目录
  2. 02通过预览确认文件内容后再选择操作
  3. 03集成到 Shell 配置或脚本中实现快速导航

安装

选择你的系统或包管理器,复制命令到终端运行。

$
brew install broot

安装完成后运行broot --version确认安装成功。

命令示例

常用命令按使用顺序排列。

01
broot
02
br -s

详细介绍

Broot

测试 MIT 最新版本 在 Miaou 上聊天 打包状态

Broot 是一种更好的方式,可用于浏览目录、查找文件和运行命令。

cows

完整文档 - 安装说明 - 参与贡献或获取帮助

查看目录概览,即使目录很大也没问题

按 br -s

overview

注意到 未列出 的文件了吗?

这正是它易于使用的原因,而旧的 tree 命令会输出好几页内容。

.gitignore 文件会得到妥善处理,让你不必看到不需要的文件。

有时你可能想查看被 Git 忽略的文件或隐藏文件,很快你就会习惯使用 alti 和 alth 快捷键切换这些文件的显示状态。

(当然,你也可以忽略它们,参见文档。)。

查找目录,然后 cd 到该目录

输入几个字母

cd

按 altenter,即可返回终端并位于所需位置。

这样一来,即使你不太记得目录的确切位置,也能用最少的按键导航到该目录。

Broot 速度很快,而且不会阻塞(任何按键都会中断当前搜索并启动下一次搜索)。

最常用的按键:

  • 输入要查找内容中的字母
  • 在根目录行按 enter,返回上级目录(仍留在 broot 中)
  • 按 enter 聚焦目录(仍留在 broot 中)
  • 按 esc 返回之前的状态或清除搜索内容
  • 可使用 ↓ 和 ↑ 移动选中项
  • 按 altenter 返回 Shell,并将 cd 切换到选中的目录
  • 按 alth 切换隐藏文件的显示状态(名称以点开头的文件)
  • 按 alti 切换被 Git 忽略文件的显示状态
  • 如果只想退出,请输入 :q(也可以按 ctrlq)

搜索时绝不错过文件层级

搜索

Broot 会尝试选中最相关的文件。你仍然可以使用 tab 或方向键在不同匹配项之间切换。

你也可以使用正则表达式搜索。只需在模式前加上 /。

你还可以使用其他类型的搜索,例如搜索文件内容(以 c/ 开头):

内容搜索

你还可以应用逻辑运算符或组合模式。例如,在所有文件中搜索 test,但排除 JSON 文件,可以写成 !/json$/&c/test;在文件名和文件内容中同时搜索 carg,则可以写成 carg|c/carg。

选中所需文件后,你可以:

  • 按 enter(或双击)在系统默认程序中打开它
  • 按 altenter 在系统默认程序中打开它并关闭 broot
  • 按 ctrl→(或 alt→ 在 macOS 上)预览它(再按一次即可进入预览)
  • 输入一个动词。例如,:e 会在你首选的编辑器中打开文件(也可以是终端编辑器)

博客:broot 内容搜索工作流

管理文件

通常,不使用 broot 时,你只能盲目移动文件。先运行几次 ls,然后进行操作,之后或许再检查一下。

你可以改用 broot,在操作时始终看清文件层级。

mv

移动、复制、删除、创建目录都是内置功能,你也可以添加自己的快捷方式。

下面是 chmod:

chmod

使用面板管理文件

选中一个目录后,按 ctrl→ 即可打开另一个面板(你可以打开更多面板,也可以使用 ctrl← 和 ctrl→ 在面板之间切换)。

自定义颜色树

(没错,颜色完全可以自定义)

例如,你可以在不同面板之间复制或移动项目:

cpp

如果你愿意,可以采用 Norton Commander 风格,将 :copy_to_panel 绑定到 F5,将 :move_to_panel 绑定到 F6。

预览文件

选中文件后按 ctrl→,即可显示预览面板。

预览

预览

预览面板会与树形面板中的选中项保持同步。

当终端支持 Kitty 图形协议时,Broot 会以高分辨率显示图片 (兼容的终端:Kitty、WezTerm):

kitty 预览

对文件应用标准命令或个人命令

size

只需按几下键找到要编辑的文件,输入 :e,然后按 enter。

你可以添加动词或配置现有动词;请参阅文档。

你还可以添加快捷键,例如 ctrl 组合键或功能键

对多个文件执行命令

将文件添加到暂存区,然后对所有文件执行任意命令。

暂存移动

替代 ls(及其各种克隆版本):

如果要显示大小、日期和权限,运行 br -sdp 即可:

替代 ls

你也可以在 broot 中通过几次按键切换选项。 例如,你可以在 broot 中输入 -sdp。 或者按 alth 查看隐藏文件。

排序,查看空间占用:

启动 broot 时,可以使用 --sort-by-size 或 --sort-by-date 排序。也可以在 broot 中输入一个空格,然后输入 sd,再按 enter,即可切换到 :sort_by_date 模式。

排序时会考虑目录的全部内容。因此,如果你想在周一早上找到最近修改的文件,可以运行 br --sort-by-date ~。

启动 broot 时加上 --whale-spotting 选项(或其快捷选项 -w),即可进入专为“寻找大文件”设计的导航模式,轻松找出占用空间较大的文件或文件夹。

大小、日期和文件数量会在后台计算;导航时无需等待。

大小

你仍然可以使用 broot 的所有工具,例如筛选,或删除、打开文件和目录。

输入 :fs,可以查看所有文件系统的使用情况,从而专注于清理空间已满的文件系统。

文件系统

检查 git 状态:

使用 :gf 可以显示文件状态(哪些是新文件、哪些已修改等)、当前分支名称、领先上游分支的提交数(↑)或落后提交数(↓),以及更改统计信息。

字母表示文件的状态:N 表示未跟踪,A 表示已暂存的新增文件,S 表示已暂存的修改,M 表示工作树中已修改,R 表示已暂存的重命名,C 表示冲突,I 表示已忽略,? 表示其他更改(例如文件被符号链接替换)。

大小

如果你只想查看 git status 命令会显示的文件,请输入 :gs。

gg

然后,你可以轻松编辑、比较差异或还原选中的文件。

博客:使用 broot 和 meld 在提交前比较差异

延伸阅读

请参阅 Broot 的网站,了解安装和使用说明。

评论

支持 Markdown