pick(1) utility allows users to choose one option from a set of choices
using an interface with fuzzy search functionality.
A package for Pick is available in the AUR.
curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/pick.tar.gz tar -xzf pick.tar.gz cd pick makepkg -sri
Debian and Ubuntu
apt-get 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
- Download the latest release from the releases page, optionally check the signature and extract the archive:
wget https://github.com/calleerlandsson/pick/releases/download/vVERSION/pick-VERSION.tar.gz wget https://github.com/calleerlandsson/pick/releases/download/vVERSION/pick-VERSION.tar.gz.asc gpg --verify pick-VERSION.tar.gz.asc tar -xzf pick-VERSION.tar.gz
- Follow the bundled installation instructions:
cd pick-VERSION less INSTALL.md
pick(1) reads a list of choices on
stdin and outputs the selected choice on
stdout. Therefore it is easily used both in pipelines and subshells:
git ls-files | pick | xargs less # Select a file in the current git repository to view in less cd $(find . -type d | pick) # Select a directory to cd into
Pick can also easily be used from within Vim both using
ready-to-map functions, see the pick.vim Vim plugin. For examples of how to
pick(1) from within Vim, see the pick.vim source code.
Please note: pick requires a fully functional terminal to run and therefore cannot be run from within gvim or MacVim.
pick(1) man page for detailed usage instructions and more examples.
Copyright (c) 2016 Calle Erlandsson, Anton Lindqvist & thoughtbot.