zoxide: tips and tricks
zoxide is a smart and fast alternative
to cd that learns your directory usage patterns and allows you to jump to
directories quickly. It’s one of my favorite command-line tools and it’s an
essential part of my workflow.
Here are some tips and tricks to get the most out of zoxide:
-
Normally you’d use
zto triggerzoxide, but pressingzis not super convenient. That’s why I like to usejinstead. You can set this up by adding the following to your shell configuration file (e.g.,.bashrc,.zshrc):alias j='z'
It took me a while to figure that z wasn’t the optimal keybinding for
zoxide and I’m really happy with j.
-
If you have
fzfinstalled, thezicommand can be used to interactively select a directory to jump to.ziis another thing that’s not super easy to type, so I suggest using thejjalias instead:alias jj='zi' -
zoxidewas inspired byzandautojump, but unlike them it’s a complete replacement forcd. That’s why it’s not a bad idea to simply aliascdtoz:alias cd='z'
Note that zoxide uses cd internally, so switching fully to it won’t
mess with any of Fish’s internally directory stack. (e.g. dirh and cdh)
-
If you have multiple directories with similar names you can use SPACE to trigger smart completion for your options:
z mydir<SPACE>
This will present the matching candidates (using fzf if present), and you can
select one to jump to it.
-
If you’re a Fish user (like me), you can get nice TAB completions by installing the following Fish plugin:
fisher install icezyclon/zoxide.fish
Now try the following:
z mydir<TAB>
You can read more about the plugin here.
And that’s a wrap! Even though I do all of the above, I think the first two
items are the most important. j and jj are very easy to type and cover all
of my use-cases beautifully. If you have any other tips or tricks for zoxide,
feel free to share them in the comments below!
That’s all I have for you today! Keep hacking!