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.
-
zrs
is a Rust binary that needs to be in your path.cargo install zrs
should work, if you have~/.cargo/bin
in your path. -
z.sh
is a helper script that must besource
d 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
fork
ing (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