explaingit

clvv/fasd

5,916ShellAudience · developerComplexity · 1/5Setup · easy

TLDR

Fasd is a shell utility that tracks which files and directories you visit most often in the terminal and lets you jump back to them instantly by typing just a few letters instead of the full path.

Mindmap

mindmap
  root((fasd))
    What it does
      Track file access
      Jump to directories
      Open recent files
    Frecency Ranking
      Frequency scoring
      Recency scoring
      Best match first
    Default Aliases
      f for files
      a for any
      s for search
      d for directories
    Setup
      One init line
      Works with bash and zsh
      No dependencies
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Jump to a deeply nested project directory by typing two or three letters instead of the full path.

USE CASE 2

Open a recently visited config file in your editor without remembering where it lives on disk.

USE CASE 3

Use interactive selection to pick the right directory when multiple results match your short query.

Tech stack

Shell

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

Fasd is a small shell utility that keeps track of which files and directories you visit most often in the terminal, so you can jump back to them quickly without typing out long paths. Instead of typing the full path to a file buried several folders deep, you type a few letters that appear somewhere in the name and fasd finds the best match based on how often and how recently you have accessed it. The project calls this ranking approach "frecency," a combination of frequency and recency. The typical use case is navigation. If you have visited a directory called /some/long/path/to/myproject many times, you can jump there with a short command like z myproject rather than typing the full path or pressing Tab repeatedly. Similarly, you can open files in any program without knowing exactly where they live, typing something like v conf to open the most relevant config file in your editor. Fasd also supports interactive selection when multiple results match, displaying a numbered list so you can pick the right one. Setup involves adding a single initialization line to your shell configuration file. Fasd then installs a hook that runs silently after each command, recording any files or directories you touched. It works with bash, zsh, and other POSIX-compatible shells and is distributed as a single self-contained shell script with no external dependencies. The tool is inspired by earlier projects called autojump, z, and v, and its name reflects four default shorthand aliases it ships with: f for files, a for any (files or directories), s for search and select, and d for directories. It can be installed through most Linux and macOS package managers or copied manually into any directory on your system path.

Copy-paste prompts

Prompt 1
I just installed fasd by adding the init line to my .zshrc. Show me the 5 most useful fasd commands for everyday terminal navigation and what each one does.
Prompt 2
Using fasd, how do I jump to a project directory I visited last week when I only remember part of the name? What does the frecency ranking actually measure?
Prompt 3
I want to use fasd to open the most relevant config file in Vim without knowing its exact path. Show me the command and explain how fasd decides which file to pick.
Prompt 4
What is the difference between fasd and autojump or zoxide for terminal navigation? What makes fasd's frecency approach different?
Open on GitHub → Explain another repo

← clvv on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.