I wanted to like unite, but couldn't get it to behave as I expected: when opening a file via unite, it doesn't respect the active window, it ignores the splits I have. IIRC it always opened the file in the top left window.
This is true (something like junegunn's fzf is even faster than either), but I think the tradeoff is between performance and consistency of interface. Unite can provide the same interactions for recent files, buffers, file navigation, grep results, etc.
You can do this with ctrlp too. The standard sources are files, buffer, and MRU files, but it comes with extensions for things like the quickfix list (grep results), tags, and scripts in the runtime path. You can also write your own: https://github.com/kien/ctrlp.vim/tree/extensions
Really? With unite you can use vimproc to fork out the searching process. Much quicker. Using unite and ctrlp with a 30k file source base, ctrlp was far to slow for me.
I prefer unite[1] to ctrl-p[2], it's much more flexible.
1: https://github.com/Shougo/unite.vim 2: https://github.com/kien/ctrlp.vim