I'm not sure exactly what the Ctrl-P does, but that sounds a lot like ido for Emacs.
I've grown accustomed to it, but it's not the end-all-be-all. For example, I can type exact filenames in some work repos and get matches that are not for the file I'm looking for because the fuzzy finding is too fuzzy and starts hooking in matching from the directory structure in the path.