📰 Home 🔒 Admin Login
Jul 4, 2026 ⏰ 5 min read

🚀 Zoxide: The cd Killer I Didn't Know I Needed

Let me paint you a picture. It's Friday evening, you're about to wrap up, and you need to jump into `/var/www/html/tech/data/` one more time. You type `cd /var/www/html/tech/data/`. Again. For the 47th time this week.

We've all been there. The humble `cd` command has served us well for decades, but let's be honest — navigating deep directory trees by remembering every path is a mental tax nobody should be paying. Enter zoxide — the `cd` replacement that learns your habits and teleports you where you want to go.

I switched to zoxide last weekend, and after seven days of daily use, here's my honest take.


What Is Zoxide?

Zoxide is a smarter `cd` written in Rust — fast, cross-platform, and self-learning. Instead of typing full paths, you type fragments of directories you've visited before, and zoxide's frecency algorithm (frequency + recency) magically puts you in the right place.

```bash

Instead of this:


cd /var/www/html/tech/data/

Just type this:

z data

Or even just this if you visit it often:

z tech data ```

It works on Linux, macOS, Windows (via PowerShell), and integrates with every major shell — Bash, Zsh, Fish, even Nushell. One binary, zero config needed to get started.


The 30-Second Install

If you have Rust's Cargo installed, it's one line:

```bash
cargo install zoxide
```

But if you don't (or you want the fastest path), use the official installer:

```bash
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
```

Then add one line to your `.bashrc` or `.zshrc`:

```bash
eval "$(zoxide init bash)" # or zsh, or fish
```

That's it. Restart your shell and start navigating normally — zoxide is quietly building its database in the background. No learning curve because it works exactly like `cd` until you start using its special features.

The biggest gotcha I hit: don't forget to remove the old `eval "$(zoxide init bash)"` if you're upgrading from `z` (the predecessor). They clash because both want the `z` command.


What Makes It Special?

1. Fuzzy Matching That Actually Works

Type `z conf nginx` and zoxide figures out you mean `/etc/nginx/conf.d/` — even though you didn't type any of it correctly. It's not just prefix matching; it's interactive substring matching that learns from context.

```bash

Both of these take you to the same place:


z nginx conf
z conf nginx
```

The order doesn't matter. Zoxide scores paths by how recently and how frequently you've visited them, so `/etc/nginx/conf.d/` floats to the top if that's where you spend your time.

2. Interactive Mode (The Best Part)

Running `zi` (interactive mode) opens a fzf-style selector that shows you the top 10 matches so you can pick with arrow keys. This is a game-changer when zoxide can't decide between `/home/projects/api/` and `/home/projects/api-docs/`:

```bash
zi api

↓ Shows a picker:


1. /home/projects/api/


2. /home/projects/api-docs/


3. /var/log/nginx/api.eismar.com/


Pick one with arrow keys + Enter


```

No more `Tab`-bing through autocomplete guesses. It's visual, fast, and oddly satisfying.

3. Directory Aliases on Steroids

Want `/var/log/nginx/` to be accessible as just `logs`? Just visit it once, and zoxide remembers. But if you want permanent aliases:

```bash
zoxide add /var/www/html/tech/data/ # manually add to DB
zoxide remove /old/dead/project/ # remove junk
```

I used this to seed zoxide with my 12 most-visited directories on day one. After that, I never typed a full path again.


Who Should Use It?

You're ...Zoxide is ...
A sysadmin jumping between `/etc/`, `/var/log/`, `/var/www/`✅ A massive time saver
A developer with deep project trees✅ Perfect match
Someone who uses `cd` more than 20 times daily✅ Buy it dinner first
A casual terminal user who visits 5 directories❌ Overkill, stick with `cd`

Real talk: if you only visit the same 3 directories all day, `cd ~/projects` and `cd -` are enough. But if your terminal workflow involves hopping between logs, configs, project directories, and temp folders, zoxide will save you seconds per jump — which adds up to minutes per day, which is hours per year.


The One Thing I Don't Love

Zoxide's database lives in `~/.local/share/zoxide/db.zo` — a binary file. You can't grep it, you can't `cat` it, you can't easily back it up as plaintext. If your home directory gets wiped, your navigation history goes with it.

Workaround: Run `zoxide add ~/projects ~/Documents /var/www` after a fresh setup to rebuild your most important paths manually. It only takes 10 seconds, but it's something you need to remember.


Verdict: Is It Worth the Switch?

Yes — but only if you commit for a week.

The first two days felt weird. I kept typing `cd` out of muscle memory. But by day three, `cd` started feeling clunky and slow. By day five, I installed it on my work laptop too. By day seven, I found myself typing `z` on servers that don't have it installed — the ultimate sign of adoption.

Zoxide isn't life-changing. It's keystroke-changing. It saves you maybe 3–5 seconds per navigation. But when you navigate directories 50+ times a day, that's 2–4 minutes saved. Across a year? That's hours of your life back.

And honestly, anything that removes friction from your terminal workflow is worth investigating. Give it a weekend — you might not switch back.


Have you tried zoxide or any other `cd` replacement? Drop a comment below or hit me up. There's nothing IT people love more than debating terminal tools 😄

Infographic: Zoxide - The cd Killer

Infographic: Zoxide - The cd Killer

← Back to Homepage

💬 0 Comments

☕ Support Eismar Tech Hub

🌎 International

Buy me a coffee

Credit Card / PayPal accepted

💳 Local (Malaysia)

Touch N Go QR

Touch 'n Go / DuitNow QR