9 个版本

0.1.8 2020 年 8 月 19 日
0.1.7 2020 年 2 月 22 日
0.1.5 2020 年 1 月 11 日
0.1.4 2019 年 12 月 29 日
0.1.1 2018 年 11 月 22 日

#1219开发工具

MIT/Apache

25KB
611 代码行

zrs

Build status

zrs 是一个基于 rupa 的 z 的目录切换助手。

它跟踪你经常访问的目录以及你最近使用它们的时间。它将尝试根据一些输入带你去最佳匹配的目录。

例如,z bar 可能会带你去 /home/you/code/bar,而 z foo bar 可能会带你去 /var/lib/dogfood/libs/bombard

安装

zrs 由两部分组成。

  • zrs 是一个需要放在你的路径中的 Rust 二进制文件。如果你有 ~/.cargo/bin 在你的路径中,则 cargo install zrs 应该可以工作。

  • z.sh 是一个必须在你的 shell 中 source 的辅助脚本。

zrs 可以为你添加这些

$ zrs --add-to-profile
written helper script to "/home/faux/.local/share/zrs/z.sh"

couldn't append to "/home/faux/.bashrc": Os { code: 2, kind: NotFound, message: "No such file or directory" }

appended '. .../z.sh' to "/home/faux/.zshrc"

为什么?

rupa 的 shell 实现 z 存在一些性能和安全问题。通过作为单个二进制文件编写,并且更加小心地接触文件系统,并在执行任何缓慢的操作之前进行 fork(释放 shell),zrs 解决了这些问题。

显著差异

  • 一些功能缺失
  • 速度更快,且不太可能丢失数据文件写入(试着在 shell 中按住回车键一段时间)
  • 正则表达式语法是 PCRE
  • 只有在使用显式的 --clean 时才会消除缺失的目录

依赖项

~6–16MB
~210K SLoC