Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/euank/pazi
An autojump "zap to directory" helper
https://github.com/euank/pazi
Last synced: 26 days ago
JSON representation
An autojump "zap to directory" helper
- Host: GitHub
- URL: https://github.com/euank/pazi
- Owner: euank
- License: gpl-3.0
- Created: 2017-09-18T06:30:43.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-06T13:22:18.000Z (about 1 month ago)
- Last Synced: 2024-05-06T14:57:41.127Z (about 1 month ago)
- Language: Rust
- Size: 863 KB
- Stars: 159
- Watchers: 5
- Forks: 7
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Lists
- command-line-tools - pazi - Fast autojump helper. (Other)
- cli-apps - pazi - Fast autojump helper. (<a name="cd"></a>Directory changers (alternatives to cd))
- awesome-stars - pazi
- awesome-cli-apps - pazi - Fast autojump helper. (<a name="cd"></a>Directory changers (alternatives to cd))
README
# :zap: pazi :zap: — A fast autojump helper
## What is pazi?
Pazi is an autojump utility. That is to say, pazi remembers visited directories
in the past and makes it easier to get back to them. A typical use of pazi
might look like the following:```sh
user@host ~ $ cd go/src/k8s.io/kubernetes
user@host ~/go/src/k8s.io/kubernetes $ cd /usr/src/linux# The primary way to interact with pazi is via the 'z', zap-to-directory, alias
user@host /usr/src/linux $ z kuber
user@host ~/go/src/k8s.io/kubernetes $ # pazi zapped to the best match for 'kuber' that it remembers having been in
user@host ~/go/src/k8s.io/kubernetes $ z linux
user@host /usr/src/linux $# If multiple items match a query, they can be interactively chosen between with '-i':
user@host /usr/src/linux $ cd ~/dev/linux
user@host ~/dev/linux $ z -i linux
2 0.7200000000000001 /usr/src/linux
1 0.9200000000000002 /home/user/dev/linux
> 1user@host ~/dev/linux
```## How do I install pazi?
First, you need to install the `pazi` binary somewhere in your `$PATH`.
Prebuilt binaries are available on the
[releases][releases] page.If you have the rust toolchain installed, you may alternatively compile from
this repository or run `cargo install pazi`.After installing the pazi binary, add the following to your `.zshrc` or
`.bashrc`:```sh
if command -v pazi &>/dev/null; then
eval "$(pazi init zsh)" # or 'bash'
fi
```Note: The init should be added after `autoload -Uz compinit; compinit;`
has been called since `pazi init zsh` initializes completion for the `z` command.Or if you are a fish user, add the following to your `config.fish`
```sh
if command -v pazi >/dev/null
status --is-interactive; and pazi init fish | source
end
```Finally, re-launch the shell and start zapping around :)
## Using pazi with fzf
Pazi may be used with "fuzzy finders" like fzf as described [here](docs/usage/pipe.md).
## What makes pazi different from *X*
There are several autojump utilities, including [fasd][fasd] (or a better
maintained [fork][fasd-fork]), [z][z], and [autojump][autojump].This implementation aims to be faster than any of the others (in no small part
due to being in [Rust][rust]), and also safer than `fasd` and `z` which, being
shell-parsers written entirely in shell, are [tricky to get right][fasd-pr].It's worth specifically noting that [zoxide](https://github.com/ajeetdsouza/zoxide) is another autojumper written in Rust, which has comparable performance (better performance for some benchmarks currently!).
For a more complete list of other autojump programs, refer to the [table here](docs/Autojumpers.md).
### So, is it faster?
Pazi is faster than the other autojump implementations it has been benchmarked
against, excluding zoxide. The results of these benchmarks are documented [here][benchmarks].## Status
Pazi is currently a work-in-progress. It mostly works, but it's not ready for a
1.0 release yet.The data-format is likely stable (or will be migrated automatically), so now's
a fine time to try it... but it's quite possible there are bugs and rough
edges. Please do file issues or PRs as appropriate!## License
GPLv3
## Contributions
Welcome and encouraged; unfortunately, no contributing.md yet.
[releases]: https://github.com/euank/pazi/releases
[fasd]: https://github.com/clvv/fasd
[fasd-fork]: https://github.com/whjvenyl/fasd
[z]: https://github.com/rupa/z
[autojump]: https://github.com/wting/autojump
[rust]: https://www.rust-lang.org/en-US/
[fasd-pr]: https://github.com/clvv/fasd/pull/99
[benchmarks]: docs/Benchmarks.md