I'm not sure this is what you're looking for, but maybe you could try `fzf` and `fzf.vim`. `fzf` can be downloaded and installed from [github][1], and `fzf.vim` [as well][2]. If you use `vim-plug` as a plugin manager, all you should have to do to install them, would be to add these lines in your `vimrc`: Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'junegunn/fzf.vim' ... somewhere between the lines: call plug#begin('~/.vim/plugged') and: call plug#end() Then execute `:PlugInstall`. ---------- Among various commands and mappings provided by `fzf.vim` (whose only purpose seems to be to install mappings and commands asking `fzf` to fuzzy search through predefined sources), there is the command `:Ag`. To be able to use it, you need to install the shell command [ag][3]. On debian based distributions, it can be done with the following command: apt-get install silversearcher-ag The project on github explains how to install it on MacOS: brew install the_silver_searcher `:Ag` allows you to fuzzy search a pattern in the files of the current directory (the one displayed when you type `:pwd`). The matches are updated after every keystroke. You can cycle forward and backward through the matches with `C-n` and `C-p`. You can select the current match and move forward/backward with `Tab`/`S-Tab`. You can select all the matches with `M-a`, and deselect them with `M-d`. If you select one or several matches, they will populate the quickfix list from which you'll be able to navigate through them with default Vim commands / mappings, such as `:cnext` and `:cprevious`. [![enter image description here][4]][4] If you want to add a prefix to all the commands installed by `fzf.vim`, you can add this in your `vimrc`: let g:fzf_command_prefix = 'your_prefix' I use `Fzf` as a prefix, that's why I didn't type `:Ag` but `:FzfAg`. [1]: https://github.com/junegunn/fzf [2]: https://github.com/junegunn/fzf.vim [3]: https://github.com/ggreer/the_silver_searcher [4]: https://i.sstatic.net/XlTIQ.gif