Pick
The pick(1)
utility allows users to choose one option from a set of choices
using an interface with fuzzy search functionality.
Installation
Arch Linux
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
A package for Pick is available as of Debian 9 and Ubuntu 15.10.
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
From source
- Download the latest release from the releases page, optionally check the signature and extract the archive:
wget https://github.com/thoughtbot/pick/releases/download/vVERSION/pick-VERSION.tar.gz
wget https://github.com/thoughtbot/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
Usage
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
Copyright (c) 2016 Calle Erlandsson, Anton Lindqvist & thoughtbot.
Lead by Calle Erlandsson & thoughtbot's Stockholm software design and development team.
About thoughtbot
See our other open source projects or hire us to design, develop, and grow your product.