I found this package for the bash shell that lets you quickly jump between commonly used folders: https://github.com/gsamokovarov/jump
I use it all the time now.
Jump uses fuzzy matching to find the desired directory to jump to. This means that your search terms are patterns that match the desired directory approximately rather than exactly. Typing 2 to 5 consecutive characters of the directory name is all that jump needs to find it.
Is there a way to use this from inside of Emacs or something equivalent? One option would be to jump to a folder in the shell, then open emacs in that directory. However, it seems like a lot of people just leave emacs open all the time and navigate to files within emacs.
Edit: Thanks! I didn't realize you could do fuzzy matching in Emacs.
By jump I mean, say I have two folders
/home/user/python/space/satellite_plotter/
/home/user/c_programs/games/pacman/
In bash with jump, if I am working in the first folder I can just type "j pac" and it will navigate to the second folder. It keeps track of often visited folders and then performs fuzzy matching on this list. I just don't know of a way to do this as quickly in Emacs.