19 unstable releases (7 breaking)

0.8.0 Jul 20, 2023
0.7.0 Jun 29, 2023
0.5.3 Mar 28, 2023
0.5.0 Sep 11, 2022

#441 in Filesystem

Download history 19/week @ 2024-02-16 11/week @ 2024-02-23 1/week @ 2024-03-01 1/week @ 2024-03-08 2/week @ 2024-03-15 74/week @ 2024-03-29 23/week @ 2024-04-05

97 downloads per month


1.5K SLoC


Tools for easy cd

Latest version crates.io downloads Github All Releases codecov

Apache MIT Build Status release

Dual-licensed under Apache 2.0 or MIT.

Features / Usage / Support shell / Installation / Environment variable


  • Can change paths visually
  • The cd functionality can also be used as-is



Command ed

Key Description
k Move up
j Move down
h Move parent directory
l Move Child directory
Home Move to top
End Move to bottom
PageUp Skip a little and move up
PageDown Skip a little and move down
Enter c ; Change directory to current directory
Esc Ctrl+c q Exit and return to original directory
Insert Ctrl+s Search mode switch (Char key will not work)
Backspace Delete one character from the search string
Delete Delete all search strings
V Open VSCode in the current directory
p Print the selected filepath

If it does not work, try restarting the shell.

Support shell

  • Bash
  • Fish
  • Powershell
  • Zsh


Install and Register in the shell


  • If you can use Cargo
cargo install --locked easychangedirectory
  • Download from Release page

    • Download the data appropriate for your environment and place it in a directory with a path

We will add more as needed.

Register easychangedirectory in shell


Add to ~/.bashrc (Change as necessary)

eval "$(easychangedirectory --init bash)"

Run . ~/.bashrc as needed


Add to ~/.config/fish/config.fish (Change as necessary)

easychangedirectory --init fish | source

Run . ~/.config/fish/config.fish as needed


Add to the file found by echo $profile

Invoke-Expression (& { (easychangedirectory --init powershell | Out-String) } )

Run . $profile as needed


Add to ~/.zshrc (Change as necessary)

eval "$(easychangedirectory --init zsh)"

Run . ~/.zshrc as needed

Environment variable

You can check all environment variable values with ed --env.

  • _ED_PWD
    • If the value is 1, print current directory after execution
  • _ED_SET_BG
    • If the value is 1, set black background
    • If the value is 1, the index is displayed on the left side of the list
    • If the value is 1, the file contents can be viewed
    • Preview is possible without setting
  • _ED_LOG
    • If the value is 1, output log to HOME/.easychangedirectory/ed.log
    • If an environment variable appropriate for HOME is not found, panic ensues.
    • Log output location will be printed upon completion


~209K SLoC