< back

Navi

[Go, SQLite, TUI]

2025

A zoxide-inspired fuzzy file/directory search tool with gap-filling multi-keyword matching, interactive TUI mode, and tag-based scoping.


README

navi

navi is like zoxide, but for all directories/files with multi-keyword matching to deal with ambiguous search result.

It uses gap-filling fuzzy search, so each keyword can be incomplete.

Example:

navi proj nav en

This can still match something like projects/navi/search/engine.go even when each token is only partial.

Interactive mode (TUI):

navi

Requirements

Install

Build locally:

go build -o navi .

Or install with Go:

go install github.com/montrey/navi@latest

Basic usage

Run interactive mode in your current directory:

navi

Type to fuzzy-search paths, then press:

Multi-keyword search does not require full words. You can type partial chunks (for example doc rea md) and still get the intended result.

Helpful shortcuts

Note: the tag system is still in progress and may change.

Inside config:

CLI examples

Print best match path and exit:

navi "src main"

Start interactive mode with a specific action:

navi --action editor

Add current directory to a tag:

navi --add work

Search with tag scope in interactive mode:

@work query

Note: tag search and workflows are currently in progress.

Data location

navi stores history, tags, and settings in:

~/.local/share/navi/navi.db