Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Pm2 | 38,750 | 5,370 | 1,435 | a day ago | 275 | February 17, 2022 | 744 | other | JavaScript | |
Node.js Production Process Manager with a built-in Load Balancer. | ||||||||||
Ripgrep | 36,722 | 332 | 216 | 2 days ago | 34 | June 12, 2021 | 205 | unlicense | Rust | |
ripgrep recursively searches directories for a regex pattern while respecting your gitignore | ||||||||||
Fx | 16,020 | 11 | 16 | a month ago | 47 | September 15, 2020 | 26 | mit | Go | |
Terminal JSON viewer | ||||||||||
Spicetify Cli | 13,833 | 6 hours ago | 47 | April 06, 2022 | 19 | lgpl-2.1 | JavaScript | |||
Command-line tool to customize Spotify client. Supports Windows, MacOS, and Linux. | ||||||||||
Sampler | 10,806 | 6 months ago | 1 | January 19, 2021 | 48 | gpl-3.0 | Go | |||
Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file. | ||||||||||
Q | 9,801 | 14 days ago | 1 | February 27, 2018 | 98 | gpl-3.0 | Python | |||
q - Run SQL directly on delimited files and multi-file sqlite databases | ||||||||||
Zoxide | 9,790 | 4 days ago | 27 | September 02, 2022 | 35 | mit | Rust | |||
A smarter cd command. Supports all major shells. | ||||||||||
Broot | 8,446 | 4 hours ago | 140 | September 24, 2022 | 165 | mit | Rust | |||
A new way to see and navigate directory trees : https://dystroy.org/broot | ||||||||||
Mac Cli | 8,406 | 2 months ago | mit | Shell | ||||||
macOS command line tool for developers – The ultimate tool to manage your Mac. It provides a huge set of command line commands that automatize the usage of your Mac. | ||||||||||
Google Images Download | 8,111 | 107 | 2 | 5 months ago | 40 | May 21, 2019 | 124 | mit | Python | |
Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code! |
zoxide is a smarter cd command, inspired by z and autojump.
It remembers which directories you use most frequently, so you can "jump" to
them in just a few keystrokes.
zoxide works on all major shells.
z foo # cd into highest ranked directory matching foo
z foo bar # cd into highest ranked directory matching foo and bar
z foo / # cd into a subdirectory starting with foo
z ~/foo # z also works like a regular cd command
z foo/ # cd into relative path
z .. # cd one level up
z - # cd into previous directory
zi foo # cd with interactive selection (using fzf)
z foo<SPACE><TAB> # show interactive completions (zoxide v0.8.0+, bash 4.4+/fish/zsh only)
Read more about the matching algorithm here.
zoxide can be installed in 4 easy steps:
Install binary
zoxide runs on most major platforms. If your platform isn't listed below, please open an issue.
The recommended way to install zoxide is via the install script:
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
Or, you can use a package manager:
Distribution Repository Instructions Any crates.io cargo install zoxide --locked
Any asdf asdf plugin add zoxide https://github.com/nyrst/asdf-zoxide.git
asdf install zoxide latest
Any conda-forge conda install -c conda-forge zoxide
Any Linuxbrew brew install zoxide
Alpine Linux 3.13+ Alpine Linux Packages apk add zoxide
Arch Linux Arch Linux Community pacman -S zoxide
CentOS 7+ Copr dnf copr enable atim/zoxide
dnf install zoxide
Debian 11+[^1] Debian Packages apt install zoxide
Devuan 4.0+[^1] Devuan Packages apt install zoxide
Fedora 32+ Fedora Packages dnf install zoxide
Gentoo GURU Overlay eselect repository enable guru
emerge --sync guru
emerge app-shells/zoxide
Manjaro pacman -S zoxide
NixOS 21.05+ nixpkgs nix-env -iA nixpkgs.zoxide
openSUSE Tumbleweed openSUSE Factory zypper install zoxide
Parrot OS[^1] apt install zoxide
Raspbian 11+[^1] Raspbian Packages apt install zoxide
Slackware 15.0+ [SlackBuilds] Instructions Ubuntu 21.04+[^1] Ubuntu Packages apt install zoxide
Void Linux Void Linux Packages xbps-install -S zoxide
To install zoxide, use a package manager:
Repository Instructions crates.io cargo install zoxide --locked
Homebrew brew install zoxide
asdf asdf plugin add zoxide https://github.com/nyrst/asdf-zoxide.git
asdf install zoxide latest
conda-forge conda install -c conda-forge zoxide
MacPorts port install zoxide
Or, run this command in your terminal:
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
The recommended way to install zoxide is via
winget
:winget install zoxide
Or, you can use an alternative package manager:
Repository Instructions crates.io cargo install zoxide --locked
Chocolatey choco install zoxide
conda-forge conda install -c conda-forge zoxide
Scoop scoop install zoxide
To install zoxide, use a package manager:
Distribution Repository Instructions Any crates.io cargo install zoxide --locked
DragonFly BSD DPorts pkg install zoxide
FreeBSD FreshPorts pkg install zoxide
NetBSD pkgsrc pkgin install zoxide
To install zoxide, use a package manager:
Repository Instructions Termux pkg install zoxide
Setup zoxide on your shell
To start using zoxide, add it to your shell.
Add this to your configuration (usually
~/.bashrc
):eval "$(zoxide init bash)"
Add this to your configuration (usually
~/.elvish/rc.elv
):eval (zoxide init elvish | slurp)
Note zoxide only supports elvish v0.18.0 and above.
Add this to your configuration (usually
~/.config/fish/config.fish
):zoxide init fish | source
Note zoxide only supports fish v3.4.0 and above.
Add this to your env file (find it by running
$nu.env-path
in Nushell):zoxide init nushell | save -f ~/.zoxide.nu
Now, add this to the end of your config file (find it by running
$nu.config-path
in Nushell):source ~/.zoxide.nu
Note zoxide only supports Nushell v0.73.0 and above.
Add this to your configuration (find it by running
echo $profile
in PowerShell):
For zoxide v0.8.0+:
Invoke-Expression (& { $hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' } (zoxide init --hook $hook powershell | Out-String) })
For older versions of zoxide:
Invoke-Expression (& { $hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' } (zoxide init --hook $hook powershell) -join "`n" })
Add this to your configuration (usually
~/.xonshrc
):execx($(zoxide init xonsh), 'exec', __xonsh__.ctx, filename='zoxide')
Add this to your configuration (usually
~/.zshrc
):eval "$(zoxide init zsh)"
For completions to work, the above line must be added after
compinit
is called. You may have to rebuild your completions cache by runningrm ~/.zcompdump*; compinit
.
Add this to your configuration:
eval "$(zoxide init posix --hook prompt)"
Install fzf (optional)
fzf is a command-line fuzzy finder, used by zoxide for completions / interactive selection. It can be installed from here.
Note zoxide only supports fzf v0.33.0 and above.
Import your data (optional)
If you currently use any of these plugins, you may want to import your data into zoxide:
Run this command in your terminal:
zoxide import --from=autojump "/path/to/autojump/db"
The path usually varies according to your system:
OS Path Example Linux $XDG_DATA_HOME/autojump/autojump.txt
or$HOME/.local/share/autojump/autojump.txt
/home/alice/.local/share/autojump/autojump.txt
macOS $HOME/Library/autojump/autojump.txt
/Users/Alice/Library/autojump/autojump.txt
Windows %APPDATA%\autojump\autojump.txt
C:\Users\Alice\AppData\Roaming\autojump\autojump.txt
Run this command in your terminal:
zoxide import --from=z "path/to/z/db"
The path usually varies according to your system:
Plugin Path fasd $_FASD_DATA
or$HOME/.fasd
z (bash/zsh) $_Z_DATA
or$HOME/.z
z (fish) $Z_DATA
or$XDG_DATA_HOME/z/data
or$HOME/.local/share/z/data
z.lua (bash/zsh) $_ZL_DATA
or$HOME/.zlua
z.lua (fish) $XDG_DATA_HOME/zlua/zlua.txt
or$HOME/.local/share/zlua/zlua.txt
or$_ZL_DATA
zsh-z $ZSHZ_DATA
or$_Z_DATA
or$HOME/.z
Run this command in PowerShell:
$db = New-TemporaryFile (Get-ZLocation).GetEnumerator() | ForEach-Object { Write-Output ($_.Name+'|'+$_.Value+'|0') } | Out-File $db zoxide import --from=z $db
When calling zoxide init
, the following flags are available:
--cmd
z
and zi
commands.--cmd j
would change the commands to (j
, ji
).--cmd cd
would replace the cd
command (doesn't work on Nushell / POSIX shells).--hook <HOOK>
none
| Never |
| prompt
| At every shell prompt |
| pwd
| Whenever the directory is changed |--no-cmd
z
and zi
commands.__zoxide_z
and
__zoxide_zi
, should you choose to redefine them.Environment variables[^2] can be used for configuration. They must be set before
zoxide init
is called.
_ZO_DATA_DIR
$XDG_DATA_HOME
or $HOME/.local/share
| /home/alice/.local/share
|
| macOS | $HOME/Library/Application Support
| /Users/Alice/Library/Application Support
|
| Windows | %LOCALAPPDATA%
| C:\Users\Alice\AppData\Local
|_ZO_ECHO
z
will print the matched directory before navigating to
it._ZO_EXCLUDE_DIRS
:
| $HOME:$HOME/private/*
|
| Windows | ;
| $HOME;$HOME/private/*
|"$HOME"
._ZO_FZF_OPTS
_ZO_MAXAGE
_ZO_RESOLVE_SYMLINKS
z
will resolve symlinks before adding directories to the
database.Application | Description | Plugin |
---|---|---|
clink | Improved cmd.exe for Windows | clink-zoxide |
emacs | Text editor | zoxide.el |
felix | File manager | Natively supported |
joshuto | File manager | Natively supported |
lf | File manager | See the wiki |
nnn | File manager | nnn-autojump |
ranger | File manager | ranger-zoxide |
telescope.nvim | Fuzzy finder for Neovim | telescope-zoxide |
t |
tmux session manager |
Natively supported |
tmux-session-wizard |
tmux session manager |
Natively supported |
vim / neovim | Text editor | zoxide.vim |
xplr | File manager | zoxide.xplr |
xxh | Transports shell configuration over SSH | xxh-plugin-prerun-zoxide |
zabb | Finds the shortest possible query for a path | Natively supported |
zsh-autocomplete | Realtime completions for zsh | Natively supported |
[^1]: Debian / Ubuntu derivatives update their packages very slowly. If you're using one of these distributions, consider using the install script instead. [^2]: If you're not sure how to set an environment variable on your shell, check out the wiki.