#cd #shell #bash #fish #zsh

app scotty

A chillingly fast dir switcher using fuzzy search

6 releases

0.3.4 Jan 23, 2021
0.3.3 Jan 16, 2021
0.3.1 Jun 10, 2020
0.3.0 Apr 26, 2020
0.1.0 Jan 6, 2020

#1967 in Command line utilities

MPL-2.0 license

955 lines


Scotty uses full text search techniques to rapidly go to directories in your shell that you have visited previously. It is implemented in rust, because I wanted to learn the language, but also to minize any latency so that your shell remains snappy.



scotty can be installed in a few different ways. More will be added in the future if it gains any traction.

  1. Install the binary

    Using Cargo

    If you have a working rust toolchain installed, scotty can easily be installed using cargo.

    cargo install scotty

    Using Homebrew

    If you have homebrew installed, you can install it from our custom tab. Packages are provided for Mac and 64bit glibc Linux.

    brew tap wdullaer/scotty
    brew install scotty

    Download from github

    Download the latest release from http://github.com/wdullaer/scotty/releases and extract it to a place on your path.

  2. Add the init script to your shell's config file:


    Add the following to the end of your ~/.zshrc file

    source <(scotty init zsh)


    Add the following to the end of your ~/.bashrc file

    source <(scotty init bash)


The following projects have been an inspiration for various components in this project:

  • Autojump: Provides similar functionality, implemented in python
  • Starship: A shell prompt implemented in rust
  • Meilisearch: A full text search server implemented in rust
  • SublimeText Fuzzy Match: A reverse engineering of Sublime Text's fuzzy match on files and directories


All the code in this repository is released under the Mozilla Public License v2.0, for more information take a look at the LICENSE file.


~184K SLoC