I already answered this a while ago, but I need to update my participations because the more it goes, the less I use peco, which is awesome, in favor or fzf, which is even more awesome, and I believe it's worth sharing this awesomeness ;)
It's fast, it's slick, it get the jobs done. Think of it as a blog+grep built in 2017 ;-)
The repo and readme: github.com/junegunn/fzf
Tons of examples scripts to use it, if you want to get a preview: github.com/junegunn/fzf/wiki/examples
Here's a preview: 