There are two great vim plugins for this.
ctrlp:
- Written in pure VimL
- Works pretty much everywhere
- Supports custom finders for improved performance
- Most popular fuzzy search plugin for Vim
Command-T:
- Written in C, VimL and Ruby
- Fast out of the box
- Requires
+rubysupport in Vim - Recommends Vim version >=
7.3
EDIT:
I use CtrlP with ag as my custom finder and it’s incredibly quick (even on massive projects) and very portable.
An example of using ag with CtrlP:
if executable('ag')
" Use Ag over Grep
set grepprg=ag\ --nogroup\ --nocolor
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif