fzf is an interactive Unix filter for command-line that can be used with any list: files, command history, processes, hostnames, bookmarks, git branches, etc.
fzf composes with every other CLI you already use. Pipe a list in, get a fuzzy picker out. Built-in shell integration gives you Ctrl-T / Ctrl-R / Alt-C bindings for files, history, and directories across bash / zsh / fish.