A fuzzy search tool for the command-line
Clone or download



pick(1) usage

pick(1) reads a list of choices from stdin and outputs the selected choice to stdout. Therefore it is easily used both in pipelines and subshells:

# Select a file in the current directory to open using xdg-open(1):
$ find . -type f | pick | xargs xdg-open
# Select a command from the history to execute:
$ eval $(fc -ln 1 | pick)

pick(1) can also be used from within Vim, see the pick.vim plugin.



Available in 6c37/crux-ports.

Debian and Ubuntu

A package for Pick is available As of Debian 9 and Ubuntu 16.04 LTS.

apt-get install pick


Package is available from the official repo.

emerge pick

Void Linux

Package is available from the official repo.

xbps-install pick

Mac OS X via Homebrew

brew install pick

Mac OS X via MacPorts

sudo port install pick

FreeBSD via Ports

cd /usr/ports/sysutils/pick
make install clean

FreeBSD via pkgng

pkg install pick

NetBSD via pkgsrc

pkg_add pick


pkg_add pick

From source

Download the latest release and follow the bundled instructions in INSTALL.md.

If you want to try the latest unreleased version, follow the instructions in CONTRIBUTING.md.


Copyright (c) 2017 Calle Erlandsson, Anton Lindqvist & thoughtbot.