zrs is a directory switching helper, based on
rupa's z.
It tracks which directories you frequently visit, and how recently you have been using them. It will try to take you to the best matching directory for some inputs.
For example, z bar could take you to /home/you/code/bar, and
z foo bar could take you to /var/lib/dogfood/libs/bombard.
zrs consists of two parts.
-
zrsis a Rust binary that needs to be in your path.cargo install zrsshould work, if you have~/.cargo/binin your path. -
z.shis a helper script that must besourced in your shell.
zrs can add this for you:
$ 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's shell implementation of z has a number of performance and
safety issues. zrs solves these by being written as a single binary,
and by being much more careful about touching the filesystem, and
forking (releasing the shell) before doing anything slow.
- some features missing
- much faster and much less likely to lose your data file writes (try holding down return in a shell some time)
- regex syntax is PCRE
- missing directories will only be eliminated on explicit
--clean