Zoxide - enhanced directory navigation

background

I recently posted zoxide in the amazing open source software, and wanted to share my thoughts and experiences installing it

review

how I found it

This is a super handy tool to quickly navigate to past directories, I recently found Zoxide through this video in my youtube suggestions.

setup

The setup from the readme

is relatively easy.
I definitely recommend following suggestion in both the video and the guide to also install fzf which gives a interface for the index.

I only encountered issues when the I didn’t have local administrative privileges or if my terminal couldn’t access the internet. If you aren’t able to run the curl and install.sh, the package manager is also a great alternative.

For a windows laptop with restricted administrative privileges, conda was the way that worked for me. For file read/write permission errors, I simply created a conda environment within the C:\Users\$username folder and installed zoxide using the conda install -c conda-forge zoxide command
Afterwards I added the paths to my path environment variable for fzf.exe and zoxide.exe. The paths were

  • zoxide: C:\Users\$username\$condaenvironmentname\bin\
  • fzf: C:\Users\$username\$condaenvironmentname\Library\bin

cool features/how it works

As you run z commands to navigate to directories, Zoxide builds a index of your most common navigated to directories. In the past, I would would need to run cd /home/progressedd/windows/OneDrive - EY/Documents/foam_notes to get into that folder.

After navigating to the directory once by pasting the full path or entering the directory with Zoxide I can use the command Z home foam_notes to automatically enter my directory

additional customization

A cool feature mentioned in the video was the --cmd flag which lets you bind cd to a z command

fish

I added the following to my fish config ~/.config/fish/config.fish

zoxide init --cmd cd fish | source

powershell

for powershell, you can add the following command to your Documents\WindowsPowerShell\profile.ps1

Invoke-Expression (& { (zoxide init --cmd cd powershell | Out-String) })

With the --cmd cd, cd is translated to a z and zi command. Since I previously navigated to the foam_notes directory, I can run cd home foam_notes to navigate to my foam_notes directory

with cdi, I can get a quick list of the index and recall the folder names to use for my zoxide command