If you use vim, consider using the CtrlP plugin. It might take a while to index files at first run on a directory, but after that, it's fast. It matches over the entire path, so as long as you remember some bits of the path accurately, it's quite useful. Here's me looking for files in /usr/share:
My /usr/share has over 15000150000 (178038 regular files according to find) files, so I added let g:ctrlp_max_depth = 10 and let g:ctrlp_max_files = 0 to my .vimrc. Indexing took a few seconds at first run.

