188 个版本 (108 个稳定版)

1.42.0 2024 年 8 月 18 日
1.40.0 2024 年 7 月 16 日
1.36.1 2024 年 3 月 11 日
1.31.0 2023 年 12 月 30 日
0.7.4 2019 年 3 月 25 日

#99 in 命令行工具

Download history 931/week @ 2024-05-02 365/week @ 2024-05-09 241/week @ 2024-05-16 195/week @ 2024-05-23 920/week @ 2024-05-30 402/week @ 2024-06-06 277/week @ 2024-06-13 207/week @ 2024-06-20 225/week @ 2024-06-27 1110/week @ 2024-07-04 789/week @ 2024-07-11 497/week @ 2024-07-18 450/week @ 2024-07-25 924/week @ 2024-08-01 364/week @ 2024-08-08 634/week @ 2024-08-15

每月 2,435 次下载

MITLGPL-3.0-or-later

1.5MB
27K SLoC

Broot

Tests MIT Latest Version Chat on Miaou Packaging status

更好的目录导航方式

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

快速查看目录概览,即使是大型目录

br -s

overview

注意那些 未列出 的项?

这正是使其在旧 tree 命令会输出多页内容的地方变得可用。

.gitignore 文件被适当处理,以将不需要的文件排除在外。

当你有时想看到 git 忽略的文件或隐藏的文件时,你很快就会习惯于使用 altialth 快捷键来切换这些可见性。

(尽管你可以忽略它们,见 文档).

找到目录然后 cd 到它

输入几个字母

cd

altenter,你将回到所需位置的终端。

这样,你可以用最少的按键导航到目录,即使你并不完全记得它在哪。

Broot 快速且不会阻塞(任何按键都会中断当前搜索以开始下一个搜索)。

此功能中最有用的键

  • 你正在寻找的内容的字母
  • enter 在根行上向上移动到父目录(保持在 broot 中)
  • enter 以聚焦目录(保持在 broot 中)
  • esc 以返回到上一个状态或清除您的搜索
  • 可以用来移动选择
  • altenter 以返回到具有 cd 到所选目录的 shell
  • alth 以切换显示隐藏文件(名称以点开头的文件)
  • 使用 alti 切换显示被 Git 忽略的文件
  • :q 如果您只想退出(您也可以使用 ctrlq,如果您更愿意这样做)

search

Broot 会尝试选择最相关的文件。您仍然可以使用 tab 或箭头键从一个匹配项跳转到另一个匹配项。

您还可以使用正则表达式进行搜索。为此,在模式前添加 /

您还有其他类型的搜索,例如根据文件内容进行搜索(以 c/ 开头)

content search

您还可以应用逻辑运算符或组合模式,例如在除了 json 文件之外的所有文件中搜索 test 可以是 !/json$/&c/test,同时搜索文件名和文件内容中的 carg 将是 carg|c/carg

一旦选择了您想要的文件,您就可以

  • enter(或双击)以在系统默认程序中打开它
  • altenter 以在系统默认程序中打开它并关闭 broot
  • ctrl 预览它(然后再次按以进入预览内部)
  • 输入一个动词。例如 :e 在您首选的编辑器中打开文件(这可能是一个终端编辑器)

博客:broot 内容搜索工作流程

管理您的文件

大多数时候,当不使用 broot 时,您在盲操作中移动文件。您在操作之前做一些 ls,然后您的操作,然后可能检查一下。

您还可以在不失去文件层次结构视图的情况下进行操作。

mv

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

这里是 chmod

chmod

使用面板管理文件

当选择一个目录时,按 ctrl 并打开另一个面板(您可以使用 ctrlctrl 打开其他面板或在其中导航)。

custom colors tree

(是的,颜色可以完全自定义)

例如,您可以在面板之间复制或移动元素

cpp

如果您喜欢,可以像 Norton Commander 那样操作,将 :copy_to_panel 绑定到 F5,将 :move_to_panel 绑定到 F6

预览文件

选择一个文件时按 ctrl,然后预览面板就会出现。

preview

preview

预览面板与树面板中的选择保持同步。

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

kitty preview

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

size

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

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

并且您可以添加快捷方式,例如一个 ctrl 序列或功能键

对多个文件应用命令

将文件添加到 暂存区,然后对它们中的所有文件执行任何命令。

staging mv

替换 ls(及其克隆)

如果您想显示大小日期权限,请使用br -sdp,这将得到以下内容

replace ls

您还可以在broot内部通过几个按键切换选项。例如,您可以在broot中输入此-sdp。或者按alth,您将看到隐藏的文件。

排序,查看占用空间的内容

您可以通过启动broot时使用--sort-by-size--sort-by-date来排序。或者您可以在broot内部输入一个空格,然后输入sd,再按enter键,这样就切换到了:sort_by_date模式。

排序时,会考虑整个目录的内容。因此,如果您想在周一早上找到最近修改的文件,请启动br --sort-by-date ~

如果您使用--whale-spotting选项(或其快捷键-w)启动broot,您将获得针对“观鲸”导航定制的模式,这使得确定哪些文件或文件夹占用空间变得容易。

大小、日期、文件计数是在后台计算的,您在导航时无需等待它们。

size

并且您仍然可以使用所有broot工具,如过滤或删除或打开文件和目录的能力。

如果您按下:fs,您可以检查所有文件系统的使用情况,这样您就可以专注于清理完全的文件系统。

fs

检查git状态

使用:gf显示文件的状态(哪些是新的,哪些是修改过的等),当前分支名称和更改统计信息。

size

如果您只想看到git status命令将显示的文件,请使用:gs。从这里开始,编辑或比较选定的文件变得容易。

gg

从这里开始,编辑、比较或撤销选定的文件变得容易。

博客:在提交前使用broot和meld进行比较

进一步阅读

有关安装和使用说明,请参阅Broot的网站

依赖关系

~31–63MB
~1M SLoC