The 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 as of Debian 9 and Ubuntu 15.10.
apt-get install pick
Package is available from the official repo.
emerge pick
brew install pick
sudo port install pick
cd /usr/ports/sysutils/pick
make install clean
pkg install pick
Available in ports under sysutils/pick
.
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 DEVELOPING.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 system()
and !
. For
ready-to-map functions, see the pick.vim Vim plugin. For examples of how to
call 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.
See the pick(1)
man page for detailed usage instructions and more examples.
Copyright (c) 2017 Calle Erlandsson, Anton Lindqvist & thoughtbot.