pickA fuzzy search tool for the command-line
pick
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.
Installation
CRUX
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
Gentoo
Package is available from the official repo.
emerge pick
Fedora/RHEL/CentOS
The RPM builds are not yet in the official repositories. But you can use the COPR repo for all currently supported distro versions, see Active Releases:
sudo dnf install -y dnf-plugins-core && \
sudo dnf copr enable -y freedomben/pick && \
sudo dnf install -y pick
Alternatively, on Fedora 33 on x86_64 the RPM can be installed directly:
wget https://github.com/FreedomBen/pick-rpm/releases/download/v4.0.0/pick-4.0.0-1.fc33.x86_64.rpm
sudo dnf install pick-4.0.0-1.fc33.x86_64.rpm
If you are running RHEL, CentOS, Fedora 31/32, or if you are on ARM/aarch64 architecture, you can find appropriate RPMs on the RPM project releases page.
For more information or to contribute to the RPM build, see the RPM project page.
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
OpenBSD
pkg_add pick
From source
./configure
make install
Copyright
Copyright (c) 2019 Calle Erlandsson, Anton Lindqvist & thoughtbot.